一、列表(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:
可以当成一个数字列表,范围可以自己设定 顾首不顾尾,可以加步长