列表操作
创建列表
#方式一 a = ['a','b','1','2'] #方式二 a = list('a','b','1','2')
Python列表函数&方法
列表方法实例
#添加元素到列表最后 a = [1,2,3,4] a.append(5) print(a) >>>[1, 2, 3, 4, 5] #删除列表中的元素 a = [1,2,3,4] a.clear() print(a) >>>[] #拷贝(浅) a = [1,2,3,4] b = a.copy() print(a) print(b) >>>[1, 2, 3, 4] >>>[1, 2, 3, 4] #统计某个元素出现的次数 a = [1,2,3,4,1] b = a.count(1) print(b) >>>2 #合并元素(扩展) a = [1,2,3,4] a.extend('5') #不能接int类型,想要加入int类型可以使用append a.extend((3,4)) print(a) >>>[1, 2, 3, 4, '5', 3, 4] # 获取列表的索引/下标(从前往后第一个关键字下标) a = [1,2,3,4] b = a.index(4) print(b) >>>3 #添加元素到指定位置 a = [1,2,3,4] a.insert(1,9) print(a) >>>[1, 9, 2, 3, 4] #删除列表最后元素,并获取删除的值 a = [1,2,3,4] b = a.pop(1) print(a) print(b) >>>[1, 3, 4] >>>2 #返回删除的值 #只删除第一个关键字元素 a = [1,1,5,2,3,4] a.remove(1) print(a) >>>[1, 5, 2, 3, 4] #反转列表元素 a = [1,2,3,4] a.reverse() print(a) >>>[4, 3, 2, 1] #反转列表中的元素 a = [1,2,3,4] a.sort(reverse=True) print(a) >>>[4, 3, 2, 1] b = [4,3,2,1] b.sort() print(b) >>>[1, 2, 3, 4]
列表排序
#列表排序(永久性),特殊字符、数字、大写字母、小写字母 cars = ['bmw', 'audi', 'toyota', 'subaru','12k',',dk','Adu'] cars.sort() #正向排序 print(cars) >>>[',dk', '12k', 'Adu', 'audi', 'bmw', 'subaru', 'toyota'] cars.sort(reverse=True) #反各排序 print(cars) >>>['toyota', 'subaru', 'bmw', 'audi', 'Adu', '12k', ',dk'] #列表排序(临时性) cars = ['bmw', 'audi', 'toyota', 'subaru','12k',',dk','Adu'] print(sorted(cars)) #正向排序 >>>[',dk', '12k', 'Adu', 'audi', 'bmw', 'subaru', 'toyota'] print(cars) >>>['bmw', 'audi', 'toyota', 'subaru', '12k', ',dk', 'Adu'] cars.reverse() #反转列表元素(非排序) print(cars) >>>['Adu', ',dk', '12k', 'subaru', 'toyota', 'audi', 'bmw'] print(len(cars)) #统计列表长度,元素数量 >>>7
#使用range()创建数字列表 number = list(range(1,10,2)) #创建数字列表,指定步长为2 print(number) >>>[1, 3, 5, 7, 9] #创建一个列表,其中包含前10个整数的平方 #方法一 a = [] for b in range(1,11): c = b**2 a.append(c) print(a) >>>[1, 4, 9, 16, 25, 36, 49, 64, 81,100] #方法二 a = [] for i in range(1,11): a.append(i**2) print(a) >>>[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] #对列表中的数字进行统计 digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] print(min(digits)) #打印最小值 print(max(digits)) #打印最大值 print(sum(digits)) #打印列表中数据之合 #使用一行创建一个列表 a = [b**2 for b in range(1,11)] print(a) #使用for循环打印数字1~20 for i in range(1,21): print(i) #创建一个列表包含数字1~1000000,用for循环将数字打印出来,并计算列表中的元素之合 num = [i for i in range(1,1000001)] for i in num: print(i) print(sum(num)) #通过range()创建一个列表,包含1~20的奇数,并用for循环打印出来 num = [i for i in range(1,21,2)] for i in num: print(i) #创建一个列表,包含3~30内能被3整除的数字,并用for循环打印出来 num = [] for i in range(3,31): if i % 3 == 0: num.append(i) else: continue print(num) #创建一个列表,包含1~10的立方数,使用for循环打印出来 num = [i**3 for i in range(1,11)] for i in num: print(i)
列表切片
players = ['charles', 'martina', 'michael', 'florence', 'eli'] print(players[1:4]) #从1开始到第3个,不包含4 >>>['martina', 'michael', 'florence'] print(players[:4]) #没有指定第一个索引,默认从0开始到第3个,不包含4 >>>['charles', 'martina', 'michael', 'florence'] print(players[2:]) #没有指定第二个索引,从2开始到默认末尾 >>>['michael', 'florence', 'eli'] print(players[-3:]) #负数是从末尾开始,打印最后3个元素 >>>['michael', 'florence', 'eli'] #遍历切片 players = ['charles', 'martina', 'michael', 'florence', 'eli'] #打印前三名元素 for i in players[:3]: print(i) #复制列表 my_foods = ['pizza', 'falafel', 'carrot cake'] your_foods = my_foods[:] print(my_foods) print(your_foods) >>>['pizza', 'falafel', 'carrot cake'] >>>['pizza', 'falafel', 'carrot cake'] my_foods.append('baozi') your_foods.append('jiaozi') print(my_foods) print(your_foods) >>>['pizza', 'falafel', 'carrot cake', 'baozi'] >>>['pizza', 'falafel', 'carrot cake', 'jiaozi']
从列表中随机取值
import random banned_users = ['andrew', 'carolina', 'david'] a = random.sample(banned_users,1) print(a)
打印列表中的元素(去除中括号)
a = ['jacky','kevin','alex','bob'] print (','.join(a)) >>>jacky,kevin,alex,bob
Python中append和extend的区别
# list.append(object) 向列表中添加一个对象object # list.extend(sequence) 把一个序列seq的内容添加到列表中 #例子 music_media = ['compact disc', '8-track tape', 'long playing record'] new_media = ['DVD Audio disc', 'Super Audio CD'] music_media.append(new_media) print(music_media) >>>['compact disc', '8-track tape', 'long playing record', ['DVD Audio disc', 'Super Audio CD']] # 使用append的时候,是将new_media看作一个对象,整体打包添加到music_media对象中。 music_media.extend((new_media)) print(music_media) >>>['compact disc', '8-track tape', 'long playing record', 'DVD Audio disc', 'Super Audio CD'] # 使用extend的时候,是将new_media看作一个序列,将这个序列和music_media序列合并,并放在其后面。