4-列表和元組
阿新 • • 發佈:2018-03-21
name 可叠代對象 int count 查看列表 次數 pen 列表 AR
一、列表(list)
列表是有序的,有索引,可切片。切片和字符串是一模一樣的;索引,切片,步長
切片:
1 list1 = [1, 2, 3, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 9, 3], "green", 2] 2 #切片 3 print(list1[:2]) #[1, 2] 4 print(list1[:6:2]) #[1, 3, ‘blue‘] 5 print(list1[5:7]) #[[‘see‘, ‘eggs‘, 8, 9, 3], ‘green‘] 6 print(list1[-1:-5:-1]) #[2, ‘green‘, [‘see‘, ‘eggs‘, 8, 9, 3], ‘blue‘]7 print(list1[5][2]) #8 8 print(list1[5][1:3]) #[‘eggs‘, 8] 9 list2 = [1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3]]
列表的增刪改查:
增:
append #在列表的最後面追加,沒有返回值
insert #插入,按照索引去插入
extend #叠代添加在最後
1 list1 = [1, 2, 3, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 9, 3], "green", 2] 2 # 增 3 print(list2.append("twitter")) #None 4 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], ‘twitter‘] 5 list2.append([1,2,3]) 6 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], ‘twitter‘, [1, 2, 3]] 7 #按照索引去插入 8 print(list2.insert(2, "ss")) #None 9 print(list2) #[1, 2, ‘ss‘, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3]]10 list2.insert(1,[1,2]) 11 print(list2) #[1, [1, 2], 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3]] 12 list2[4].insert(2,2) 13 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 2, 8, 2, 3]] 14 15 #extend叠代追加 16 list2.extend([1,2,3]) 17 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], 1, 2, 3] 18 list2.extend("lkjh") 19 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], ‘l‘, ‘k‘, ‘j‘, ‘h‘] 20 list2.extend([1,[1,2]]) 21 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3], 1, [1, 2]]
刪:
pop: #按照索引刪除,不添加索引時默認刪除最後一個元素,有返回值,返回刪除的元素
remove #按照元素去刪除
clear #清空列表內容
del #刪除列表 del list
#切片刪除 del list[:3] del list[:3:2]
1 #pop按照索引刪除,不添加索引時默認刪除最後一個元素,有返回值,返回刪除的元素 2 3 print(list2.pop(2)) #4 4 print(list2) #[1, 2, ‘blue‘, [‘see‘, ‘eggs‘, 8, 2, 3]] 5 list2[-1].pop(1) 6 print(list2) #[1, 2, 4, ‘blue‘, [‘see‘, 8, 2, 3]] 7 l3 = [1, 2, [‘1‘,‘l‘,‘r‘], "kk",{"name":"ll","age":20}] 8 l3[4].pop("name") #[1, 2, 4, ‘kk‘, {‘age‘: 20}] 9 print(l3) 10 11 print(l3.remove(1)) #None 12 print(l3) #[2, 4, ‘kk‘, {‘name‘: ‘ll‘, ‘age‘: 20}] 13 l3.remove("kk") 14 print(l3) #[1, 2, 4, {‘age‘: 20, ‘name‘: ‘ll‘}] 15 l3[2].remove(‘1‘) 16 print(l3) #[1, 2, [‘l‘, ‘r‘], ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}] 17 #clear 18 l3.clear() 19 print(l3) #[] 20 l3[4].clear() 21 print(l3) #[1, 2, 4, ‘kk‘, {}] 22 del l3 23 print(l3) #[] 24 del l3[:2] 25 print(l3) #[[‘1‘,‘l‘,‘r‘], "kk",{"name":"ll","age":20}]
改:
賦值 #按照索引去改 list[1] = ‘re‘
#按照切片去改 list[:6] = ‘ashlfkhdguiwe‘
叠代的去添加
1 l3[1] = "tt" 2 print(l3) #[1, ‘tt‘, [‘1‘, ‘l‘, ‘r‘], ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}] 3 l3[2][1] = 6 4 print(l3) #[1, ‘tt‘, [‘1‘, 6, ‘r‘], ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}] 5 l3[4][1] = "hobby" 6 print(l3) #[1, 2, [‘1‘, ‘l‘, ‘r‘], ‘kk‘, {‘name‘: ‘ll‘, 1: ‘hobby‘, ‘age‘: 20}] 7 8 l3[0:2] = ‘lkjhgf‘ 9 print(l3) #[‘l‘, ‘k‘, ‘j‘, ‘h‘, ‘g‘, ‘f‘, [‘1‘, ‘l‘, ‘r‘], ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}] 10 l3[0:3] = [9,8,7,6,5] 11 print(l3) #[9, 8, 7, 6, 5, ‘kk‘, {‘age‘: 20, ‘name‘: ‘ll‘}]
查:
#可以按照索引,切片,步長去查
#可以按照for循環去查
1 print(list1[:2]) #[1, 2] 2 print(list1[:6:2]) #[1, 3, ‘blue‘] 3 print(list1[5:7]) #[[‘see‘, ‘eggs‘, 8, 9, 3], ‘green‘] 4 print(list1[-1:-5:-1]) #[2, ‘green‘, [‘see‘, ‘eggs‘, 8, 9, 3], ‘blue‘] 5 print(list1[5][2]) #8 6 print(list1[5][1:3]) #[‘eggs‘, 8]
列表的其他方法
1 #sort排序 2 print(list4.sort()) #None 3 print(list4) #[1, 1, 3, 5, 6, 7, 9] 4 5 #排序反轉 6 list4.sort(reverse=True) 7 print(list4) #[9, 7, 6, 5, 3, 1, 1] 8 #reveres反序 9 list4.reverse() 10 print(list4.reverse()) #None 11 print(list4) #[1, 7, 9, 6, 3, 5, 1] 12 13 #查看列表長度 14 print(len(list4)) #7 15 #統計 16 print(list4.count(1)) #2 17 #通過元素查找索引 18 print(list4.index(5)) #1 19 20 #join用字符串做一個連接符,鏈接可叠代對象中的每一個元素,形成一個新的字符串,使用時,列表裏必須是字符串,數字無法進行拼接
21 list5 = ["ll",‘kk‘,‘jj‘] 22 print(‘..‘.join(list5))
列表的嵌套
在列表中再嵌套一個嵌套
list6 = [1,2,3,[1,2,3,[1,2,3]]]
二、元組
元組是用來存儲的,元組不可以增、刪、改只能查找
1 tuple1 = (1,2,3,4) 2 print(tuple1[1]) #2
元組裏可以使用以下幾個方法:
1 count #統計字符在列表的出現次數 2 len #查看元組的長度 3 index #通過元素去找索引
range:
可以當成一個數字列表,範圍可以自己設定 顧首不顧尾,可以加步長
4-列表和元組