Python基礎篇(4)---資料型別的內建方法
阿新 • • 發佈:2022-03-09
本章內容
• 字串的內建方法
• 列表的內建方法
• 可變型別和不可變型別
• 佇列和堆疊
字串的內建方法
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)