创建列表
#方式一
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序列合并,并放在其后面。