Day5笔记
1.认识列表
1)什么是列表
列表是容器型数据类型,将[]作为容器标志,里面多个元素用逗号隔开:[元素1,元素二2,元素三,...]
列表是可变的(元素的个数,值,顺序可变);列表是有序的(元素有固定位置信息--下标)
列表对于元素的要求:任何python支持的类型的数据都可以作为列表,同一个列表的元素的类型可以不同
list4 = [10,20,[1,2],True,'abc',]
2.获取元素-查
1)获取单个元素
语法;列表[下标]-获取列表中指定下标对应的元素
什么是下标:下标又叫索引,指元素在序列中的位置信息。
下标值的范围有两种:
1)元素从左往右对应的下标是从0开始依次增加
2)元素从右往左对应的下标是从-1开始依次减少
heroes = ['孙尚香','后裔','虞姬','马可波罗']
# -3,0 -2,1 -1,2
2)遍历(一个一个地获取列表中的元素)
方法一:直接获取元素
for 变量 in 列表:
循环体
for x in heroes:
print('x:',x)
方法二:通过下标遍历元素
len(列表) - 获取列表元素的个数
for 变量 in range(len(列表)):
循环体
3)获取部分元素(列表切片)
列表[开始下标:结束下标:步长]
是一个左闭右开的区间
步长为正:[开始下标,结束下标),从前往后,每次下标增加步长
步长为负:[开始下标,结束下标),从后往前,每次下标增加步长
1.省略步长
列表[开始下标:结束下标] == 列表[开始下标:结束下标:1]
heroes = ['孙尚香', '后裔', '虞姬', '马可波罗', '蔡文姬']
print(heroes[1:5]) # ['后裔', '虞姬', '马可波罗', '蔡文姬']
2.省略开始下标
列表[:结束下标:步长] /[:结束下标:]
如果步长为正:开始下标省,就从第一个元素开始往后取
如果步长为负:开始下标省,就从最后一个元素开始往前取
print(heroes[:3]) # ['孙尚香', '后裔', '虞姬']
print(heroes[:3:-1]) # ['蔡文姬']
3.省略结束下标
列表[开始下标::步长] / 列表[开始下标:]
步长为正:结束下标省略,从开始下标开始从前往后取到最后一个元素为止
步长为负:结束下标省略,从开始下标开始从后往前取到第一个元素为止
heroes = ['鲁班7号', '后裔', '马可波罗', '虞姬', '孙尚香', '狄仁杰', '百里守约']
print(heroes[1:]) # ['后裔', '马可波罗', '虞姬', '孙尚香', '狄仁杰', '百里守约']
print(heroes[-3:]) # ['孙尚香', '狄仁杰', '百里守约']
4.一起省
print(heroes[::2]) # ['鲁班7号', '马可波罗', '孙尚香', '百里守约']
print(heroes[:]) # (就是整个列表)['鲁班7号', '后裔', '马可波罗', '虞姬', '孙尚香', '狄仁杰', '百里守约']
print(heroes[::-1]) # (整个列表逆序)['百里守约', '狄仁杰', '孙尚香', '虞姬', '马可波罗', '后裔', '鲁班7号']
3.获取元素-增(往列表中增加元素)
1)列表.append(元素) - 在指定列表的最后追加一个指定元素
movies = ['看不见的客人','肖克生的救赎']
movies.append('小森林')
print(movies) # ['看不见的客人', '肖克生的救赎', '小森林']
2)列表.insert(下标,元素)
movies.insert(1,'星际穿越')
print(movies) # ['看不见的客人', '星际穿越', '肖克生的救赎', '小森林']
4.获取元素-删(删除列表中某个元素)
1)语法:del列表[下标]-(删除列表中下标对应的元素,下标不能越界)
a.删除指定变量
name = "andy"
del name
b.删除列表中某个元素
nums = [10, 3, 20]
del nums[-1]
print(nums)
c.删除整个列表
nums = [10, 3, 20]
del nums
2)列表.remove(元素) -删除列表中指定元素,如果有多个则删除第一个,如果没有会报错
scores = [45, 67, 89, 90, 23, 50]
scores.remove(50)
print(scores)
3)列表.pop() -取出列表中最后一个元素
列表.pop(下标) - 取出列表中下标对应元素
scores = [45, 67, 89, 90, 23, 50]
scores.pop(2) # [45, 67, 89, 90, 23]
x = scores.pop(2)
print(scores, x)
5.获取元素-改(修改元素的值)
# 语法:列表[下标] = 值 - 将列表中指定下标对应的元素修改成指定的值
subjects = ['高数', '毛概', '高级俄语', '科技俄语']
subjects[0] = '英语'
print(subjects)
6.in和 not in
# 值in 列表 - 判断列表中是否存在指定值对应的元素
# 值not in 列表 - 判断列表中是否不存在指定值对应的元素
subjects = ['高数', '毛概', '高级俄语', '科技俄语']
print('高数' in subjects) # True