1. 程式人生 > 其它 >Python基礎篇(4)---資料型別的內建方法

Python基礎篇(4)---資料型別的內建方法

本章內容

    • 字串的內建方法

    •  列表的內建方法

    • 可變型別和不可變型別

    •  佇列和堆疊

字串的內建方法


1.strip---移除字串首尾的制定字元,可以選擇方向

s1 = '$$$jason$$$'
print(s1.strip('$'))    # jason
print(s1.lstrip('$'))   # jason$$$       left    左邊
print(s1.rstrip('$'))   # $$$jason       right   右邊

 

 

2.lower和upper---大小寫相關操作

s2 = 'JaSoN666Sb
' print(s2.lower()) # 將所有的英文字母變為小寫 jason666sb print(s2.upper()) # 將所有的英文字母變為大寫 JASON666SB print(s2.islower()) # 判斷字串中所有的英文字母是否是純小寫 結果是布林值 print(s2.isupper()) # 判斷字串中所有的英文字母是否是純大寫 結果是布林值

 

 

 3.startswith和endswith---判斷字串的開頭或結尾是否是制定的字元

s3 = 'jason kevin jason tony 666'
print(s3.startswith('
j')) # True print(s3.startswith('jason')) # True print(s3.startswith('tony')) # False print(s3.endswith('6')) # True print(s3.endswith('666')) # True print(s3.endswith('jason')) # False

 

 

 4.format---格式化輸出

# 方法1:跟%s %d 一樣佔位,使用{}佔位
# 案例:
   print('my name is {} my age is {}'.format('jason'
, 18)) # 方法2: 根據索引取值,可以反覆使用 # 案例: print('my name is {0} {0} {0} my age is {0} {1}'.format('jason', 18)) # 方法3: 根據指名道姓的方法取值 # 案例: print('my name is {name} {name} my age is {age} {pwd}'.format(name='jason', age=18, pwd=123)) # 方法4: 直接使用已經出現過的變數 # 案例: name = 'jason' age = 18 print(f'my name is {name} my age is {age} {name} {age}')

 

 

 5.join---拼接字串

s1 = "123"
s2 = "456"
print(s1+s2)   # 結果 "123456"
'''
如果字串很大 加號效率較低
'''
print(s1 * 10)  # 重複次數
print("|".join(s1))  # 1|2|3
print('|'.join(['1','2','3','4']))  # 1|2|3|4
'''
join的元素必須都是字串才可以 否則報錯
'''

 

 

 6.replace---替換字串中指定的字元

s6 = 'jason is DSB DSB DSB DSB jason jason jason'
#將DSB替換成 DMN
# 一次性替換所有
print(s6.replace('DSB', 'DMN'))
# 通過數字控制替換的個數 從左往右
print(s6.replace('DSB', 'DMN',2))
'''很多文字編輯器裡面的替換功能 就可以使用replace完成'''

 

 

 7.isdigit---判斷字串中是否是純數字

print('jason123'.isdigit())  # False
print('123'.isdigit())   # True
print('123.21'.isdigit())  #False

 

 

瞭解的操作

1.find---查詢指定字元對應的索引值

s1 = 'jason justin kevin tony'
print(s1.find('s'))  # 從左往右查詢 查詢一個就結束
print(s1.find('k', 1, 9))  # -1 意思是沒有 找不到
print(s1.index('s'))
print(s1.index('k', 1, 9))  # 找不到直接報錯 不推薦使用

 

 

 2.center和ljust和rjust和zfill---改變文字位置

name = 'tony'
print(name.center(30, '-')) # -------------tony------------- 30數字代表字元的位數,center 把文字放在中間,其他空的用-填充 print(name.ljust(30, '*')) # tony************************** ljust 把文字放在左邊 print(name.rjust(30, '$')) # $$$$$$$$$$$$$$$$$$$$$$$$$$tony rjust 把文字放在右邊 print(name.zfill(50)) # zero 零 0000000000000000000000000000000000000000000000tony zfill zero 用0填充在文字前面

 

 

 3.r---取消特殊符號斜槓和英文字母組合產生的特色含義

print('ja\tson\nke\avin')
'''
\t表示空四個字元,也稱縮排,相當於按一下Tab鍵
\n 表示換行
\a 表示響鈴
'''
'''如果想取消它們的特殊含義 可以在字串的前面加一個字母r'''
print(r'ja\tson\nke\avin')

 

 4.captalize,swapcase,title---首字母大寫,大小寫反轉,每個單詞首字母大寫

a = "hello world "
print(a.capitalize())  # 首字母大寫
b = "Hello World"
print(b.swapcase())  # 大寫變小寫,小寫變大寫
c = "dear my friend i miss you very much"
print(c.title())          # 每個單詞首字母變成大寫

 

 列表的內建方法


 

1.型別轉換

"""
list可以轉換支援for迴圈的資料型別
可以被for迴圈的資料型別:字串 列表 字典 元組 集合
"""
# 整形,浮點型和布林型不行會報錯
print(list(11))  # 報錯
print(list(11.11))  # 報錯
print(list(True))  # 報錯
# 字串 列表 字典 元組 集合
print(list('jason'))  # ['j', 'a', 's', 'o', 'n']
print(list({'name': 'jason', 'pwd': 123}))  # ['name', 'pwd']
print(list((11,22,33,44,55)))  # [11, 22, 33, 44, 55]
print(list({1, 2, 3, 4, 5}))  # [1, 2, 3, 4, 5]
print(list(True))

 

 2.索引取值

name = ['jason', 'kevin', 'Tom']
print(name[0])  # jason  取列表的第一個元素 
print(name[-1])  # Tom  取列表的最後一個元素

 

 3.切片操作

name = ['jason', 'kevin', 'Tom''Alice']
print(name[0:2])   # ['jason', 'kevin']  取列表第一位到第二位元素組成列表
print(name[-3:-1])  # ['kevin', 'Tom']  從倒數第三個元素取到倒數第二個元素
print(name[-1:-3:-1])  # ['Alice', 'Tom'] 從最後一個元素開始往左取2個元素

 

 4.間隔

name = ['jason', 'kevin', 'Tom','Alice']
print(name[0:4:2])  # ['jason', 'Tom'] 從第一個元素開始往右間隔一個元素去一個 到第三個元素停止

 

 5.len---統計列表中元素的個數

name = ['jason', 'kevin', 'Tom','Alice']
print(len(name)) # 打印出列表中含有的元素個數

 

 6.in---成員運算 最小判斷單位是元素不是元素裡面的單個字元

name = ['jason', 'kevin', 'Tom','Alice']
print('j' in name) # False j是列表元素jason裡的字元,不是最小單位
print('Alice' in name)  # True Alice是最小單位,且存在於列表name中

 

 7.append,extend,insert----列表新增元素的方式

name = ['jason', 'kevin', 'Tom','Alice']
# 1.尾部追加'單個'元素
name.append('Justin')  # 在列表的尾部新增一個元素
print(name)  # ['jason', 'kevin', 'Tom', 'Alice', 'Justin']
# 2.指定位置插入'單個'元素
name.insert(0, 123)  # 在列表第一個元素前插入一個123
name.insert(2,'插隊!!!')  # 在列表第3個元素前插入
print(name) 
# 3.合併列表
name.extend([11,22,33,44])  # 在原有的列表後新增合併列表的元素
print(name)
'''extend其實可以看成是for迴圈+append'''
for i in [11, 22, 33, 44, 55]:
     name_list.append(i)
print(name_list)
name_list += [11, 22, 33, 44, 55]
print(name_list)  # 加號的效率不高

 

 8.del,pop,remove---刪除元素

name = ['jason', 'kevin', 'Tom','Justin','Alice']
# 通用的刪除方式del
del name[0]  # 刪除name列表的第一個元素
print(name)
# 就地刪除
name.remove('kevin')  # 刪除Kevin這個元素
print(name)
# 延遲刪除
name.pop()  # 預設彈出尾部的元素Alice
print(name) 
name.pop(1) # 指定彈出的元素
print(name)