列表和元组

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)

 

以上是关于列表和元组的主要内容,如果未能解决你的问题,请参考以下文章

Python列表和元组的使用方法及区别 详解

Python列表和元组的使用方法及区别 详解

Python的列表和元组的区别

Python核心列表和元组

Python成长之路第一篇-初识列表和元组

Python成长之路第一篇-初识列表和元组