列表是最常用的Python数据类型,也是Python中最基本的数据结构,只要在实际应用中,使用列表编程非常频繁。
目录
一:创建列表
1.1.创建普通的列表
只要把逗号分隔的不同的数据项使用方括号括起来
list = []
list1 = ['Google', 'TengXun', 'Baidu', 'Alibb']
list2 = [1, 2, 3, 4, 5 ]
list3 = ["hello", "hi", "how are you", "that's good"]
1.2.创建数值列表
使用list()函数将range()函数的结果转换为列表
numlist = list(range(10))
print(numlist)
结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(param1, param2, param3) 第三个参数param3可以指定步长
numlist = list(range(0, 11, 2))
print(numlist)
结果:
[0, 2, 4, 6, 8, 10]
1.3.列表解析创建列表
列表解析 将for 循环和创建新元素的代码合并成一行,并自动附加新元素
squares = [value**2 for value in range(1, 11)]
print(squares)
# 注意for value in range(1, 11)末尾没有冒号
结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
二:列表操作
2.1.访问列表
通过索引访问
列表第一个元素的索引是0而不是1
列表最后一个元素可以通过索引-1访问
names = ['小明','小红','john', 'ben', 'kitty']
print(names[0])
print(names[-1])
print(names[3])
结果:
小明
kitty
ben
2.2.修改列表元素
通过元素的索引修改,list[index] = ‘new_element’
# 修改列表元素的方法和访问元素的方法一样,通过索引去修改
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
结果:
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
2.3.对列表添加元素
1.使用方法append()将元素添加到列表末尾,list.append
2.使用方法insert()将元素插入到列表的指定索引位置,list.insert(new_index, element)
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.append('sanlin')
print(motorcycles)
motorcycles.insert(1, 'motor')
print(motorcycles)
结果:
['ducati', 'yamaha', 'suzuki', 'sanlin']
['ducati', 'motor', 'yamaha', 'suzuki', 'sanlin']
2.4.从列表删除元素
1.使用del语句删除元素,需要指定索引,del list[del_index]
2.使用方法pop()删除元素,并且返回该值,不指定索引时删除列表末尾的元素,list.pop([pop_index])
3.使用方法remove()可以根据值删除元素,list.remove(element)
# del函数
motorcycles = ['ducati', 'motor', 'yamaha', 'suzuki', 'sanlin']
del motorcycles[1]
print(motorcycles)
#pop方法
pop_motorcycle = motorcycles.pop() # 不指定索引时删除最后一个元素
print(pop_motorcycle)
print(motorcycles)
pop_motorcycle1 = motorcycles.pop(1) #指定删除的索引
print(pop_motorcycle1)
print(motorcycles)
del motorcycles #是将整个列表删除,再次访问会报错
print(motorcycles)
#remove方法
pets = ['dog', 'cat', 'duck', 'squirrel']
pets.remove('duck')
print("属于宠物的有:")
for pet in pets:
print(pet)
结果:
['ducati', 'yamaha', 'suzuki', 'sanlin']
sanlin
['ducati', 'yamaha', 'suzuki']
yamaha
['ducati', 'suzuki']
NameError: name 'motorcycles' is not defined
属于宠物的有:
dog
cat
squirrel
三:组织列表
3.1.对列表进行永久性排序
- 使用方法sort()对列表进行永久性排序
- list.sort(reverse = True)按与字符顺序相反的顺序排列列表元素
cars = ['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
print("排序前:" + str(cars))
# 1. 使用方法sort()对列表进行永久性排序
cars.sort()
print("使用sort排序后:" + str(cars))
# 2. list.sort(reverse = True)按与字符顺序相反的顺序排列列表元素
cars.sort(reverse = True)
print("使用sort带reverse选项后:" + str(cars))
结果:
排序前:['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
使用sort排序后:['audi', 'bwm', 'honda', 'lexus', 'toyata', 'vx']
使用sort带reverse选项后:['vx', 'toyata', 'lexus', 'honda', 'bwm', 'audi']
3.2.对列表进行临时排序
使用函数sorted()对列表进行临时排序
cars = ['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
print("排序前:" + str(cars))
print("使用函数sorted()后:" + str(sorted(cars)))
print("再次查看列表:" + str(cars))
结果:
排序前:['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
使用函数sorted()后:['audi', 'bwm', 'honda', 'lexus', 'toyata', 'vx']
再次查看列表:['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
3.3.对列表进行倒着排序
list.reverse()倒着打印列表, 永久性地修改列表元素排序顺序,
再次调用list.reverse可恢复原来排序顺序
cars = ['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
print("排序前:" + str(cars))
print("倒着排序后:" + str(cars))
print("再次调用reverse:" + str(cars))
结果:
排序前:['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
倒着排序后:['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
再次调用reverse:['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
3.4.对列表进行统计
函数len() 确定列表的长度
min() 统计列表最大值元素
max() 统计列表最小值元素
sum() 统计列表累加和
cars = ['bwm', 'audi', 'lexus', 'honda', 'vx', 'toyata']
print("cars 数量为:" + str(len(cars)))
结果:
cars 数量为:6