字串、列表、元組、字典每個常用的方法-------玉米都督
阿新 • • 發佈:2018-11-09
一、知識概要 1. 列表,元組,字典,字串的建立方式 2. 列表,元組,字典,字串的方法呼叫 3. 列表,元組,字典,字串的常規用法 二、列表 # 列 表 # 列表基礎 list_1 = ['a','b','c','d','e','f'] list_2 = ['apple','banana','watermelon','strawberry','banana','apple'] print(list_1) print("##########") # 列表得下標是從0開始的,之後的一次+1 print(list_1[0]) print("##########") print(list_1[4]) print("##########") print(list_1[1:3]) # 從下標為1的元素開始,到下標為3的終止 print("##########") print(list_1[1:-2]) # -2是指將列表的順序倒置,結尾變為開頭,下標相對來說變為0向前依次 -1 print("##########") print(list_1[::2]) # 前面兩個冒號分別使用預設的引數,最後一個數字表示步長,兩步一取 print("##########") # 列表的增、刪、改 list_1.append('z') # 在結尾加一個元素 print(list_1) print("##########") list_1.insert(1,'y') # 在指定位置增加元素,在a後b前插入y print(list_1) print("##########") a = list_2.extend(list_1) # 將list_1和list_2合併 print(a) print("##########") list_1[4] = 'o' # 修改第五個元素 print(list_1) print("##########") list_1[2:3] = ['p','q'] # 修改連續的元素 print(list_1) print("##########") list_1.remove(list_1[3]) # 刪除下標為3的元素 print(list_1) print("##########") list_1.pop(2) # 直接加下標 print(list_1) print("##########") # del list_1[2] 刪除列表中的下標為2的元素 # del list_1 直接刪除掉列表 # 列表的一些方法 # count print(list_2.count('apple')) # count是計算出現次數的方法 print("##########") # index print(list_2.index('banana')) # 尋找banana在哪個位置 print("##########") one_apple = list_2.index('apple') print(one_apple) list_3 = list_2[one_apple+1:] two_apple = list_3.index('apple') list_4_index = one_apple + two_apple +1 print(list_4_index) # 輸出第二個位置 print("##########") # reverse list_1.reverse() # 倒敘 print(list_1) print("##########") # sort list_5 = [6,4,3,7,5,5,8,1] list_5.sort() # 排序(從小到大) print(list_5) print("##########") # clear list_5.clear() # 清空列表 print(list_5) print("##########") 三、元組 # 元 組 tuple1 = (1,) # 只有一個元素的話,後面加一個逗號,對之後的學習有所幫助 tuple2 = (1,2,3,4,5) # tuple2[2] = 10 # 元組是不可修改的 四、字典 # 字 典 dictionary1 = {'country':'China','city':'beijing'} # 建立字典(常用),前面為鍵,後面為鍵值 dictionary2 = dict((('city','shanghai'),)) # 建立字典 # 鍵是不可變型別:整型,字串,元組 # 可變型別有:列表,字典 print(dictionary1) print(dictionary1['city']) print(dictionary2) # 字典兩大特點:無序,鍵值唯一 print("##########") dictionary2['city'] = 'tianjin' # 修改字典,增加內容 print(dictionary2) print("##########") return1 = dictionary2.setdefault('location','north') # 增加內容,如果有則不做修改 print(dictionary2) print(return1) # 返回鍵值 print("##########") print(dictionary1.keys()) # 檢視字典當中用那些鍵 print(list(dictionary1.keys())) # 用列表的形式展示 print(dictionary1.values()) # 只檢視鍵值 print(dictionary1.items()) # 將字典當中的所有鍵值對拿出 print("##########") dictionary3 = {1:1,2:2} dictionary4 = {1:3,4:5,6:7} dictionary3.update(dictionary4) # 更新字典,如果有鍵相同,則更新鍵值;如完全沒有,則更新在後方 print(dictionary3) print(dictionary4) print("##########") # 刪除字典 eg = dictionary3.popitem() # 不加鍵,則會隨機刪除鍵值對 print(eg,'||',dictionary3) dictionary4.pop(6) # 刪除鍵為6的資訊 print(dictionary4) del dictionary4[4] # 刪除鍵為4的資訊 print(dictionary4) dictionary4.clear() # 清空字典,只留下框架輪廓 print(dictionary4) print("##########") dictionary5 = dict.fromkeys(['a','b','c'],['z','y']) # 分配率,將後面最為一個整體 print(dictionary5) dictionary5['b'][0] = 'x' # 需要理解深淺拷貝 print(dictionary5) print("##########") print(sorted(dictionary5)) # 字典的排序 print(sorted(dictionary5.values())) # 根據值排序 print("##########") # 字典的遍歷 dictionary6 = {'num1':10,'num2':52,'num3':33} # 效率較高 for i in dictionary6: print(i,dictionary6[i]) print("##########") # 效率很低 for a,b in dictionary6.items(): print(a,b) print("##########") 五、字串 # 字串 str1 = '1' str2 = "2" # Python中單引號與雙引號沒什麼區別 print(str1) print(str2) print(str2*200) str3 = 'asdqwezxc' print(str3[2:]) print('as' in str3) # 判斷此欄位是否在字串之中 print('aq' in str3) print(str1+str2) # 字串拼接(效率很低) eg1 = '......'.join([str1,str2]) # 通過單引號的符號連線將要拼接的兩個字串 print(eg1) print("##########") # 字串內建方法 str4 = 'it is a bea\tutiful city 是 {name}\n' print(str4.count('s')) # 統計數目 print(str4.capitalize()) # 字串首字母大寫 print(str4.center(100,'-')) # 居中(距離和符號) print(str4.endswith('ful')) # 以某個內容結尾 print(str4.startswith('it')) # 以某個內容開始 print(str4.expandtabs(tabsize=20)) # 對\t的空格數改為20,預設為4 print(str4.find('b')) # 查詢到的第一個元素,返回下標號 print("##########") # 格式化輸出 print(str4.format(name = 'beijing')) # 將name改為具體的名字 print(str4.format_map({'name':'shanghai'})) print(str4.index('b')) # 查詢索引值,和fund()相似,但是index找不到會報錯 print(str4.isalnum()) # 不常用,是否是數字,字母,中文 print(str4.isdecimal()) # 不常用,是否是十進位制的數 print(str4.isdigit()) # 是否為數字 print(str4.isnumeric()) # 是否為數字 print(str4.isidentifier()) # 是否為非法變數 print("##########") print(str4.islower()) # 是否都是小寫 print(str4.isupper()) # 是否都是大寫 print(str4.isspace()) # 是否是個空格 print(str4.istitle()) # 每一個詞的首字母是否是大寫 print(str4.lower()) # 大寫全部變小寫 print(str4.upper()) # 小寫全部變大寫 print(str4.swapcase()) # 字母大小寫反轉 print(str4.ljust(100,':')) # 向左對齊 print(str4.rjust(100,':')) # 向右對齊 print("##########") print(str4.strip()) # 去掉換行符,空格 print(123) # 前面的換行符被去掉 print("##########") print(str4.replace('city','城市')) # 替換內容,也可以部分替換 print(str4.rfind('t')) # 真實的索引位置 print(str4.split(' ')) # 字串的分割 print(str4.rsplit('b',1)) # 以右為準,以目標分割,分割一次