Python列表

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:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值