1、列表的增删改查
1.1、增
1 #append:在末尾增加,直接修改旧的列表 2 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 3 lst.append('绿巨人') 4 print(lst) 5 #result: 6 # ['钢铁侠', '蜘蛛侠', '雷神', '灭霸', '绿巨人'] 7 8 #insert 9 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 10 lst.insert(1,'绿巨人') 11 print(lst) 12 #result: 13 # ['钢铁侠', '绿巨人', '蜘蛛侠', '雷神', '灭霸'] 14 15 #extend:extend后的结果是修改原先的列表,与拼接类似,但与拼接不同的是,拼接返回的是一个全新的列表 16 #1、:第一种extend不是迭代添加进去,他可以将整个内容一次性添加 17 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 18 lst_add = ['绿巨人'] 19 lst.extend(lst_add) 20 print(lst) 21 #result: 22 # ['钢铁侠', '蜘蛛侠', '雷神', '灭霸', '绿巨人'] 23 #2、:第二种extend是迭代添加,即分解成每一个元素,分别添加。 24 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 25 lst.extend('绿巨人') 26 print(lst) 27 #result: 28 # ['钢铁侠', '蜘蛛侠', '雷神', '灭霸', '绿', '巨', '人'] 29 #3、迭代方法添加不可以添加int类,会报错 30 ''' 31 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 32 lst.extend(123) 33 print(lst) 34 ''' 35 #4、可以添加列表 36 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 37 lst.extend([1,2,3]) 38 print(lst)
1.2、删
1 #pop:pop是唯一一个既修改列表又返回一个非None值的列表方法 2 #1、指定删除元素 3 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 4 name = lst.pop(2)#name即返回的值 5 print(lst,name) 6 #result: 7 # ['钢铁侠', '蜘蛛侠', '灭霸'] 雷神 8 9 #2、默认删除最后一个元素,关于具体默认删除规则,请参考Python基础教程(3):35-36 10 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 11 name = lst.pop() 12 print(lst,name) 13 #result: 14 # ['钢铁侠', '蜘蛛侠', '雷神'] 灭霸 15 16 #remove:删除指定元素 17 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 18 lst.remove('蜘蛛侠') 19 print(lst) 20 #result: 21 # ['钢铁侠', '雷神', '灭霸'] 22 23 #clear:清空列表 24 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 25 lst.clear() 26 print(lst) 27 #result: 28 # [] 29 30 #del 31 #1、删除lst后,就没有了这个列表了,故报错 32 ''' 33 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 34 del lst 35 print(lst) 36 ''' 37 38 #2、删除指定元素 39 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 40 del lst[2] 41 print(lst) 42 #result: 43 # ['钢铁侠', '蜘蛛侠', '灭霸'] 44 45 #3、切片删除 46 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 47 del lst[2:] 48 print(lst) 49 #result: 50 # ['钢铁侠', '蜘蛛侠']
1.3、改
1 #1、修改单个 2 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 3 lst[1] = '绿巨人' 4 print(lst) 5 #result: 6 # ['钢铁侠', '绿巨人', '雷神', '灭霸'] 7 8 #2、修改多个,迭代添加,先删除第0个和第1个,然后添加每一个,不论有多少个 9 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 10 lst[0:2] = '美国队长' 11 print(lst) 12 #result: 13 # ['美', '国', '队', '长', '雷神', '灭霸'] 14 15 #3、非迭代,通过列表方式修改 16 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 17 lst[0:2] = ['美国队长','绿巨人'] 18 print(lst) 19 #result: 20 # ['美国队长', '绿巨人', '雷神', '灭霸']
1.4、查
1 #1、查询所有 2 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 3 for i in lst: 4 print(i) 5 # result: 6 # 钢铁侠 7 # 蜘蛛侠 8 # 雷神 9 # 灭霸 10 11 #2、切片查找 12 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 13 print(lst[0:2]) 14 # result: 15 #['钢铁侠', '蜘蛛侠']
1 lst = (1,2,3,'dfds',[1,'dfd','地方'],'对方的') 2 #1、 3 for i in lst: 4 if type(i) == list: 5 for k in i: 6 print(k) 7 else: 8 print(i) 9 10 #2、 11 for i in range(0,len(lst)): 12 if type(lst[i]) == list: 13 for j in lst[i]: 14 print(j) 15 else: 16 print(lst[i]) 17 #result 18 #1 19 # 2 20 # 3 21 # dfds 22 # 1 23 # dfd 24 # 地方 25 # 对方的
1.5、一些公共的方法
1 #len:计算长度 2 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 3 print(len(lst)) 4 # result: 5 #4 6 7 #count:统计次数 8 lst = ['钢铁侠','蜘蛛侠','雷神','雷神','灭霸'] 9 print(lst.count('雷神')) 10 # result: 11 #2 12 13 #index:获取索引,若没有当前元素,则会报错 14 lst = ['钢铁侠','蜘蛛侠','雷神','灭霸'] 15 print(lst.index('雷神')) 16 # result: 17 #2 18 19 #sort: 20 #1、列表正向排序 21 num_of_lst = [1,5,8,9,6,3,4,7] 22 num_of_lst.sort() 23 print(num_of_lst) 24 # result: 25 #[1, 3, 4, 5, 6, 7, 8, 9] 26 27 #2、列表逆向排序 28 num_of_lst = [1,5,8,9,6,3,4,7] 29 num_of_lst.sort(reverse = True) 30 print(num_of_lst) 31 # result: 32 #[9, 8, 7, 6, 5, 4, 3, 1] 33 34 #reverse:反转 35 num_of_lst = [1,5,8,9,6,3,4,7] 36 num_of_lst.reverse() 37 print(num_of_lst) 38 # result: 39 #[7, 4, 3, 6, 9, 8, 5, 1]
这些公共的方法包括:len、count、index、sort、reverse
2、元祖的嵌套,range,for循环的嵌套
元祖是不可修改的序列。
一个只包含一个元素的元祖,必须在这个元素的后面加上逗号,如:(1,)。否则他就是(1),而(1)和1并无区别。
元祖的儿子不可修改,但是元祖的孙子可能会被修改:
1 lst = (1,2,3,'dfds',[1,'dfd','地方'],'对方的') 2 lst[4][1] = lst[4][1].upper() 3 print(lst)
在这里,修改的是元祖里面的列表。
下面将介绍一些join的使用:
1 #join 2 #join针对的是可迭代对象,如字符串和列表 3 s = 'hello' 4 end_s = '@'.join(s) 5 print(end_s) 6 #result: 7 #h@e@l@l@o 8 9 #join的一些用法:将列表转成字符串 10 lst = ['李小龙','我的','男神'] 11 print(''.join(lst)) 12 #result: 13 #李小龙我的男神 14 15 #若将字符串转成列表,用split 16 s = '李小龙:我:男神' 17 print(s.split(':')) 18 #result: 19 #['李小龙', '我', '男神']
range的使用:
1 #range 2 #1、range(0,5)--->[0,1,2,3,4] 3 for i in range(0,5): 4 print(i) 5 # result: 6 # 0 7 # 1 8 # 2 9 # 3 10 # 4 11 12 #2、 13 for i in range(5): 14 print(i) 15 #结果同上 16 17 #3、加上步长 18 for i in range(0,10,2): 19 print(i) 20 # result: 21 # 0 22 # 2 23 # 4 24 # 6 25 # 8 26 27 #这种什么都不打印 28 for i in range(0,10,-1): 29 print(i)