2021-01-10 Python序列-列表

Python序列-列表

SUMUP
在这里插入图片描述

序列是一种数据存储方式,用来存储一系列的数据。
在内存中,序列就是一块用来存放多个值的连续的内存空间id依次存储在连续对象中(e.g. a[0]存储10的地址),而不是每个对象,连续对象的地址再赋给a)
在这里插入图片描述
**常用的序列结构有:**字符串,列表,元组,字典,集合

列表

用于存储任意数目、任意类型的数据集合
Python列表大小可变,根据需要随时增加或缩小

创建列表

  • []
  • list():可将任何可迭代的数据转化成列表
>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> list("string")
['s', 't', 'r', 'i', 'n', 'g']
  • range([start,] end [,step])
  • 推导生成(使用控制语句)
>>> [x*2 for x in range(5)]
[0, 2, 4, 6, 8]
>>> [x*2 for x in range(5) if x%3==0]
[0, 6]

列表元素的增加和删除

增删元素时,列表会自动进行内存管理
但涉及列表元素大量移动,效率较低一般只在列表尾部进行添加删除操作

增加
  • append():添加元素到尾部,速度最快(基于原来对象添加)
  • +:不是真正尾部添加元素,而是创建新的列表对象,将内容复制到新列表中
  • extend():添加列表到尾部,不创建新对象
  • insert():元素插入到对应位置,涉及元素复制,类似发生这种移动的函数还有:remove()、pop()、del()
  • 乘法扩展
删除
  • del:涉及元素复制移动
  • pop():删除并返回指定位置元素,默认删除尾部元素
  • remove():删除首次出现的指定元素

列表元素访问和计数

  • 索引
  • index(value, [start,[end]]):获得指定元素在列表中首次出现的索引
  • count():获得指定元素在列表中出现的次数
  • len():返回列表长度
  • 资格判断:判断列表中是否存在指定的元素,我们可以使用count()方法,返回0 则表示不存在,返回大于0 则表示存在。但是,一般我们会使用更加简洁的in 关键字来判断,直接返回True或False

切片

[起始偏移量start:终止偏移量end[:步长step]]
包头不包尾
起始为0,结尾为-1(len-1)

列表的遍历

循环遍历

列表排序

修改原列表

sort(),默认reverse=False
shuffle()

创建新列表

sorted()
reversed():返回迭代器(只能用一次),可通过list()转逆序列表

列表其他内置函数

  • max()
  • min()
  • sum()

多维列表

内存结构图在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值