python元组和列表都支持的方法_(3)python 列表和元组

列表 元组 字段 等都是一种数据结构。其中列表和元组比较相似都是顺序保存的,都可以通过索引来找到元素。

列表和元组的主要区别:列表是可以修改的,元组不可以修改。列表用[]表示,元组用()表示

一、列表、元组的通用用法

1.通过索引使用元素

968522-20170507095257117-370471616.png

也可以直接使用索引,不需要赋值给变量

968522-20170507095515211-1233572158.png

如果函数返回一个序列,可对返回结果进行索引操作

968522-20170507100549726-1389257707.png

2.切片

也就是截取字符串用两个索引中间加冒号的形式 [3:6]

其中第一个索引包含在内,第二个索引不包含在内

968522-20170507102643570-476160887.png

可以看出4的索引是3,7的索引是6。

从四个个元素到最后一个

num[3:]

反向索引如何获取最后一个元素

968522-20170507103114336-228724046.png

这种方法无法访问到最后一个元素

可以用[-3:]这种方式访问

968522-20170507103348836-1831044546.png

同样使用与正向

968522-20170507103451304-1565340160.png

或者全部

968522-20170507103513820-988632599.png

使用步长

通长默认步长是1,如果步长是2就是每隔一个元素

968522-20170507104156898-2125381806.png

步长可以为负数,此时元素从右向左提取

使用负数当步长是索引范围的第一个数要比第二个要大

968522-20170507104756945-1410946980.png

3.序列运算

(1)相加

968522-20170507104927445-174124711.png

968522-20170507105017945-12170598.png

两种相同类型的序列才可以相加

968522-20170507105117086-884637241.png

会报错

(2)相乘

968522-20170507105250289-1704244679.png

会变成n倍

空列表

如果想初始化一个10个元素的空列表

968522-20170507110012679-1757947364.png

4.成员资格

判断是否包含该元素用in

存在返回True,不存在返回false

968522-20170507110426476-466585389.png

968522-20170507110715226-1757628189.png

5.长度、最大值、最小值

968522-20170507114137617-17306177.png

6.序列封包和序列解包

(1)先封包后解包

解包的数量必须与等号左边数量相同

968522-20190202131634313-714666048.png

(2)还可以用*表示一个序列

序列在末尾

968522-20190202131804435-1002416739.png

在前端

968522-20190202132012966-173009686.png

还可以在中间

二、列表

函数list(字符串转列表)

968522-20170507151323789-1836934253.png

1、改变列表的值

968522-20170507150631445-764386061.png

2、删除元素

968522-20170507150812836-1352830595.png

3、分片赋值

968522-20170507151809757-188130922.png

列表方法

1、append方法

末尾追加新对象

968522-20170507153421023-638451427.png

2、count方法

统计元素出现的次数

968522-20170507155640007-1769184344.png

3、extend方法

在原列表扩展其他列表

968522-20170507160256429-376174810.png

类似于前面的序列相加,但是序列相加没有改变原有的值extend改变了原值

968522-20170507160335836-1002635955.png

4、index

用于找出列表中某个值第一个匹配项的索引位置

968522-20170507161148726-285165511.png

5、insert

将对象插入到列表,

968522-20170507161622539-1529208817.png

6、pop

移除列表中的元素,默认是最后一个

968522-20170507162122586-2005106168.png

968522-20170507162157773-2015851341.png

7、remove

用于移除列表中某个值的第一个匹配项

968522-20170507162849164-441854322.png

8、reverse

将列表元素反向存放

968522-20170507163223757-1884233559.png

9、sort

对原列表进行排序

968522-20170507163457289-312870630.png

如果想要把副本排序

968522-20170507164024945-1860029060.png

用 b=a[:] 是一种很效率的复制整个列表的方法

如果用

b=a则表示他们同指向一个列表

968522-20170507164258195-1483827427.png

10、高级排序

列表推导式

列表推导式用于使用其他列表创建一个新列表

基本形式为: [表达式 for 变量 in 列表]

l=[3,4,5]

a=[i*2 for i inl ]

print(a)#[6, 8, 10]

三、元组

元组类似于列表,用()表示

元组也是序列,元组和列表的区别在于元组不能被修改

用一个元组或列表同时赋值

>>> a,b=(1,2)>>>a1

>>>b2

>>>

或者只用逗号分开自动创建一个元组

968522-20180328151657631-623464460.png

如果只有一个元素,在元素后面加个逗号,也表示元组

968522-20180328152150871-1951273196.png

元组的创建和访问与其他序列相同

968522-20180328153407942-1402334773.png

四、deque

列表在元素末尾添加或弹出非常快,但是在开头很慢

如果大量使用开头插入弹出频繁的功能,可以使用deque类

fromcollections import deque

q=deque(['tom','liu','wang'])

q.append('zhao')

q.popleft()

print(q)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值