Day 5 运用Python之列表

文章详细介绍了Python中的列表,包括其作为容器的特性,如可变性和有序性,以及如何进行元素查询、切片操作和遍历。通过示例展示了如何创建和操作列表,包括添加、删除和修改元素,以及不同方式的索引和切片技巧。
摘要由CSDN通过智能技术生成

Day 5 运用Python之列表

列表

  • 列表是一个容器型数据,以[]作为容器标志,其中元素与元素之间用逗号隔开

  • 可变性: 元素的个数和元素本身的值是可变的,换句话说,列表支持增删改操作

  • 有序性: 创建列表时,元素是有顺序的,而且是确定的,支持下标缩影,查询操作

  • 元素:容器中每一个独立的数据

  • 空列表

    list1 = []  # 返回的bool值为False
    
  • 列表中的元素可以是任何数据类型的数据

    list2 = [10, 20, [30, 40], {10, 20}]#列表中的元素也可以是列表,字典,集合
    list3 = [1.0, 2, 0, None, True]
    

列表的查询操作

  • 获取列表中元素的值,列表[索引值]

  • 索引值:下标,列表中元素的位置信息,列表一旦确定,列表中每个元素的索引值就确定了,每个元素对应从左到右,从右到左两个下标值,从左到右,从0到无穷,从右到左,从-1到负无穷

  • 切片:从一个列表中,获取多个元素,返回值是一个列表(小列表)

    movies = ['肖生克的救赎', '霸王别姬', '阿甘正传', '钢铁侠', '蜘蛛侠', '蝙蝠侠', '蚁人', '雷神', '复仇者联盟']
    print(movies[1:-1:1])  # ['霸王别姬', '阿甘正传', '钢铁侠', '蜘蛛侠', '蝙蝠侠', '蚁人', '雷神']
    print(movies[-1:1:-2])  # ['复仇者联盟','蚁人','蜘蛛侠', '阿甘正传']
    print(movies[-2:5:2])  # []
    print(movies[0:-2:4])  # ['肖生克的救赎','蜘蛛侠']
    print(movies[5:-1:2])  # ['蝙蝠侠','雷神']
    print(movies[6:-6:-1])  # ['蚁人', '蝙蝠侠', 蜘蛛侠'']
    
  • 一般取开始下标,结束下标是开区间,布长表示连续取第几个

  • 当开始下标和结束下标所对应的方向,同步长对应的方向相反时,切片返回的是空列表[]

省略切片
a.省略步长  -   相当于步长为1,方向为正方向
列表[开始下标:结束下标]

b.省略开始下标  -  获取元素的从头开始取(步长为为正,从第一个元素开始;步长为负,从最后一个元素开始)
列表[:结束下标:步长]

c.省略结束下标 - 获取元素时候从开始下标开始,取完为止(有可能是取到最后一个,也有可能取到第一个)
完整的切片语法:列表[开始下标::步长]

movies = ['肖生克的救赎', '霸王别姬', '阿甘正传', '钢铁侠', '蜘蛛侠', '蝙蝠侠', '蚁人', '雷神', '复仇者联盟']
print(movies[1:4])          # ['霸王别姬', '阿甘正传', '钢铁侠']
print(movies[-1:1])         # []

print(movies[:-2:2])        # ['肖生克的救赎', '阿甘正传',  '蜘蛛侠', '蚁人']
print(movies[:2:-2])        # [ '复仇者联盟', '蚁人', '蜘蛛侠']
print(movies[:4])           # ['肖生克的救赎', '霸王别姬', '阿甘正传', '钢铁侠']

print(movies[2::2])         # ['阿甘正传', '蜘蛛侠', '蚁人', '复仇者联盟']
print(movies[4::-1])        # ['蜘蛛侠', '钢铁侠', '阿甘正传', '霸王别姬', '肖生克的救赎']
print(movies[3:])           # ['钢铁侠', '蜘蛛侠', '蝙蝠侠', '蚁人', '雷神', '复仇者联盟']

print(movies[::-2])         # ['复仇者联盟', '蚁人', '蜘蛛侠', '阿甘正传', '肖生克的救赎']
  • 省略开始下标,表示从头开始取数,并且是开始下标,同时方向和步长方向相同
  • 省略结束下标,表示从某个位置开始,取到结束位置,并且方向和布长方向一致,同时左右方向都能取到,非常特别,需记住

遍历列表

  • 直接获取元素

    scores = [90, 89, 87, 81, 79, 93, 67, 56, 43, 99]
    # 方法1:
    for x in scores:
        print(x)
    
  • 获取元素下标

    scores = [90, 89, 87, 81, 79, 93, 67, 56, 43, 99]
    for x in range(len(scores)):#先遍历得到下标值,再通过查询下标操作得到元素对应的值
        print(x, scores[x])
    
  • 获取元素和元素下标

    for index, item in enumerate(scores):#enumerate()函数,返回列表的两个值,一个是下标,一个是元素
        print('index:', index, 'item:', item)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值