列表和元组
Posted 富坚老贼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表和元组相关的知识,希望对你有一定的参考价值。
列表 元组 字段 等都是一种数据结构。其中列表和元组比较相似都是顺序保存的,都可以通过索引来找到元素。
列表和元组的主要区别:列表是可以修改的,元组不可以修改。列表用[]表示,元组用()表示
一、列表、元组的通用用法
1.通过索引使用元素
也可以直接使用索引,不需要赋值给变量
如果函数返回一个序列,可对返回结果进行索引操作
2.切片
也就是截取字符串用两个索引中间加冒号的形式 [3:6]
其中第一个索引包含在内,第二个索引不包含在内
可以看出4的索引是3,7的索引是6。
从四个个元素到最后一个
num[3:]
反向索引如何获取最后一个元素
这种方法无法访问到最后一个元素
可以用[-3:]这种方式访问
同样使用与正向
或者全部
使用步长
通长默认步长是1,如果步长是2就是每隔一个元素
步长可以为负数,此时元素从右向左提取
使用负数当步长是索引范围的第一个数要比第二个要大
3.序列运算
(1)相加
两种相同类型的序列才可以相加
会报错
(2)相乘
会变成n倍
空列表
如果想初始化一个10个元素的空列表
4.成员资格
判断是否包含该元素用in
存在返回True,不存在返回false
5.长度、最大值、最小值
6.序列封包和序列解包
(1)先封包后解包
解包的数量必须与等号左边数量相同
(2)还可以用*表示一个序列
序列在末尾
在前端
还可以在中间
二、列表
函数list(字符串转列表)
1、改变列表的值
2、删除元素
3、分片赋值
列表方法
1、append方法
末尾追加新对象
2、count方法
统计元素出现的次数
3、extend方法
在原列表扩展其他列表
类似于前面的序列相加,但是序列相加没有改变原有的值extend改变了原值
4、index
用于找出列表中某个值第一个匹配项的索引位置
5、insert
将对象插入到列表,
6、pop
移除列表中的元素,默认是最后一个
7、remove
用于移除列表中某个值的第一个匹配项
8、reverse
将列表元素反向存放
9、sort
对原列表进行排序
如果想要把副本排序
用 b=a[:] 是一种很效率的复制整个列表的方法
如果用
b=a则表示他们同指向一个列表
10、高级排序
暂
列表推导式
列表推导式用于使用其他列表创建一个新列表
基本形式为: [表达式 for 变量 in 列表]
l=[3,4,5] a=[i*2 for i in l ] print(a)#[6, 8, 10]
三、元组
元组类似于列表,用()表示
元组也是序列,元组和列表的区别在于元组不能被修改
用一个元组或列表同时赋值
>>> a,b=(1,2) >>> a 1 >>> b 2 >>>
或者只用逗号分开自动创建一个元组
如果只有一个元素,在元素后面加个逗号,也表示元组
元组的创建和访问与其他序列相同
四、deque
列表在元素末尾添加或弹出非常快,但是在开头很慢
如果大量使用开头插入弹出频繁的功能,可以使用deque类
from collections import deque q=deque([\'tom\',\'liu\',\'wang\']) q.append(\'zhao\') q.popleft() print(q)
以上是关于列表和元组的主要内容,如果未能解决你的问题,请参考以下文章