1. 认识列表
1.1 什么是列表
1)列表是容器型数据类型(可以同时保存多个数据);
2)将中括号([])作为容器的标志,里面多个元素(一个容器中逗号隔开的每个独立的数据)用逗号隔开:[元素1,元素2,元素3];
3)列表是可变的:可变指的是元素的个数、元素的值和元素的顺序可变;列表支持增删改;
列表是有序的:列表支持下标操作。
4)列表的元素:任何类型的数据都可以作为列表的元素。
1.2 列表中的元素类型
1)同一个列表中的元素类型可以相同
list2 = [78,45,25,66]
print(list2)
2)同一个列表中的元素类型可以不一样
list3 = [23,2.5,'abc',True,[10,2],{
'a':10}]
print(list3)
3)一个列表可以作为另外一个列表的元素
list4 = [10,[20,30]] # 列表中有2个元素
print(list4)
1.3 列表是有序的
print([10,20,30] == [20,30,20]) # False
# 集合无序
print({
10,20,30} == {
10,30,20}) # True
2. 获取元素
2.1 获取单个元素
2.1.1 语法
列表[下标]
2.1.2 说明
说明:
1)列表:可以是具体的某个列表,也可以是保存列表的变量;
2)[] :固定写法
3)下标:
整数,下标又叫索引,是元素在有序序列的位置信息
python中元素对应的下标有两种:1.从前往后从0开始不断增加的 2.从后往前-1开始不断减小的
games = ['英雄联盟','王者荣耀','开心消消乐','炉石传说','部队冲突','原神','绝地求生']
print(games[1],games[-6])
# print(['英雄联盟','王者荣耀','开心消消乐','炉石传说','部队冲突','原神','绝地求生'][1]) 王者荣耀
print(games[-1])
# 注意:下标不能越界
# print(games[100]) # 报错 IndexError: list index out of range
2.2 获取部分元素(切片)
2.2.1 完整语法
列表[开始下标:结束下标:步长]
2.2.2 切片过程
1)第一步:确定结果是否为空:看步长对应的方向和开始下标到结束下标对应的方向是否一致,如果不一致,切片的结果一定是空
2)第二步:确定有效范围:从开始下标对应的元素到结束下标对应的元素就是有效范围,有效范围,内结束下标对应的元素取不到 - [开始下标,结束下标)
3)第三步:获取元素:步长的正负确定获取方向;步长绝对值确定获取的时候是否跳着取;
如果绝对值为1,表示一个一个的取;
绝对值为2,表示取一个跳一个;
绝对值为3,表示取一个跳过2个
2.2.3 写切片表达式获取指定的结果
1)第一步:确定开始下标:看结果中第一个元素在原列表的下标;
2)第二步:确定步长:看获取元素的方向来确定正负;看取值的时候跳过的情况确定绝对值
3)第三步:确定结束下标:[开始下标,结束下标)对应范围能够包含所有的已经获取到的元素
games = ['英雄联盟','王者荣耀','开心消消乐','炉石传说','部落冲突','原神','绝地求生']
print(games[1:-1:2]) # ['王者荣耀', '炉石传说', '原神']
print(games[1:-2:-2]) # []
print(games[4:0:1]) # []
print(games[2:-2:1]) # ['开心消消乐', '炉石传说', '部落冲突']
print(games[6:-6:-2]) # ['绝地求生', '部落冲突', '开心消消乐']
# 练习
print(games[1:-1:3]) # ['王者荣耀','部落冲突']
print(games[2:6:-2]) # []
print(games[0:5:4]) # ['英雄联盟','部落冲突']
print(games[6:-4:-1]) # ['绝地求生', '原神', '部落冲突']
# ['王者荣耀','开心消消乐','炉石传说']
print(games[1:4:1],games[-6:-3:1])
# ['开心消消乐','部落冲突']
print(games[2:5:2],games[-5:-2:2])
# ['原神','部落冲突','炉石传说']
print(games[5:2:-1],games[-2:-5:-1],games[-2:2:-1])
games = ['诛仙', '英雄联盟', '王者荣耀', '开心消消乐', '炉石传说', '部落冲突', '原神', '绝地求生']
# ['英雄联盟', '王者荣耀', '开心消消乐', '炉石传说']
print(games[1:5:1],games[1:-3: