2021-4-29-列表基础-课程总结
1.什么是列表(list)
-
列表是容器型属性类型(是序列) 将[]作为容器标志,里面多个元素用逗号隔开: [元素1, 元素2, 元素3,…]
-
列表是可变的(指的是列表中元素的个数、元素顺序和元素的值可变)列表是有序的(支持下标操作,下标是顺序的标志)
-
列表的元素:任何类型的数据都可以作为列表的元素,同一个列表中不同的元素的类型可以不同
-
空列表
list1 = [] print(list1, type(list1)) # [] <class 'list'>
-
列表有序的
print([1, 2, 3] == [3, 2, 1]) # False
print({1, 2, 3} == {3, 2, 1}) # True (集合无序)
list2 = [10, 23.8, 'abc', True, [1, 2], (10, 20), {'a': 10}]
print(list2)
a = 100
list3 = [20, a, a * 3, a < 5]
print(list3) # [20, 100, 300, False]
2. 获取列表元素(查)
- 获取单个元素
"""
语法:
列表[下标] - 获取列表中指定下标对应的元素
说明:
列表 - 可以是保存列表的变量也可以直接写列表
[] - 固定写法
下标 - 又叫索引;下标就是元素在有序序列中的位置信息。
元素从前往后对应的下标值从0开始依次增加;
元素从后往前对应的下标值从-1开始依次减小。
"""
names = ['百里守约', '瑶', '李白', '后裔', '曜']
print(names[1]) # 瑶
print(names[-4]) # 瑶
print(names[0]) # 百里守约
print(names[-2]) # 后裔
print(names[5]) # IndexError: list index out of range
- 遍历 - 一个一个的获取列表中所有的元素
"""
方法一 - 直接获取元素
for 变量 in 列表:
循环体
方法二 - 通过获取到所有元素的下标来获取元素
for 下标 in range(列表长度):
列表[下标]
len(序列) - 获取序列中元素的个数
"""
for name in names:
print('name:', name)
# 练习:统计scores中不及格学生的人数
scores = [78, 67, 56, 90, 78, 23, 91]
count = 0
for s in scores:
if s < 60:
count += 1
print('不及格的人数:', count)
names = ['百里守约', '瑶', '李白', '后裔', '曜']
for index in range(len(names)):
print(index, names[index])
for index in range(-1, -len(names) - 1, -1):
print(index, names[index])
- 切片 - 同时获取多个元素
"""
a.基础语法
列表[开始下标: 结束下标: 步长]
如果步长为正:从开始下标开始到结束下标前,从前往后取,取的时候步长为指定步长
如果步长为负:从开始下标开始到结束下标前,从后往前取,取的时候步长为指定步长
b.省略语法
1)省略步长: 列表[开始下标:结束下标] - 相当于步长是1
2)省略开始下标:列表[:结束下标: 步长] / 列表[:结束下标]
3)省略结束下标:列表[开始下标:: 步长] / 列表[开始下标:]
"""
movies = ['猫鼠游戏', '复仇者联盟', '流浪地球', 'V字仇杀队', '泰坦尼克号', '寂静岭', '生化危机', '肖申克的救赎']
print(movies[1:5:1]) # ['复仇者联盟', '流浪地球', 'V字仇杀队', '泰坦尼克号']
print(movies[1:5:2]) # ['复仇者联盟', 'V字仇杀队']
print(movies[1:5:-1]) # []
print(movies[-3:2:1]) # []
print(movies[-3:2:-2]) # ['寂静岭', 'V字仇杀队']
print(movies[3:-2:1]) # ['V字仇杀队', '泰坦尼克号', '寂静岭']
print(movies[1:-1]) # ['复仇者联盟', '流浪地球', 'V字仇杀队', '泰坦尼克号', '寂静岭', '生化危机']
print(movies[2:]) # ['流浪地球', 'V字仇杀队', '泰坦尼克号', '寂静岭', '生化危机', '肖申克的救赎']
print(movies[3::-1]) # ['V字仇杀队', '流浪地球', '复仇者联盟', '猫鼠游戏']
print(movies[:3]) # ['猫鼠游戏', '复仇者联盟', '流浪地球']
print(movies[::-2]) # ['肖申克的救赎', '寂静岭', 'V字仇杀队', '复仇者联盟']