python元组类型

元组(tuple)

列表属于可变序列,其中的元素可以任意修改。。而元组属于不可变序列,不能修改元组中的元素。因此,元组中没有增加元素、删除元素和修改元素等相关操作。

元组的创建

  • 通过()创建元组,小括号也可以省略
>>> a = (1,2,3)
>>> b = 1,2,3
>>> type(a)
<class 'tuple'>
>>> type(b)
<class 'tuple'>
>>> a == b
True
>>> a is b
False
>>> id(a)
2214743251200
>>> id(b)
2214743592176

使用两种方法创建的值相同但对象不同。

  • 通过tuple()创建元组
>>> tuple()
()
>>> tuple("abcde")
('a', 'b', 'c', 'd', 'e')
>>> tuple([1,2,3,4,5])
(1, 2, 3, 4, 5)
>>> tuple(range(5))
(0, 1, 2, 3, 4)

tuple()可接收字符串、列表、其他类型序列以及迭代器等生成元素。

元组的元素访问和计数

  • 元组的元素不能修改
>>> a = (1,2,3,4,5)
>>> a[2]
3
>>> a[2]=6
Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    a[2]=6
TypeError: 'tuple' object does not support item assignment
>>> a[:3]
(1, 2, 3)

索引、切片方式和其他序列类型相似。

  • . __next __()指针访问
>>> s = (x for x in range(5)) #创建一个生成器对象
>>> type(s)
<class 'generator'>
>>> s.__next__()
0
>>> s.__next__()
1
>>> s.__next__()
2
>>> s.__next__()
3
>>> s.__next__()
4
>>> s.__next__()
Traceback (most recent call last):
  File "<pyshell#41>", line 1, in <module>
    s.__next__()
StopIteration

生成器只能使用一次,访问完后被释放。

zip

zip(列表1,列表2……)将多个列表对应位置的元素组成列表,并返回一个zip对象。

>>> a = [1,2,3]
>>> b = [3,4,5]
>>> c = [5,6,7]
>>> d = zip(a,b,c)
>>> d
<zip object at 0x00000203A900B888>
>>> tuple(d)
((1, 3, 5), (2, 4, 6), (3, 5, 7))

zip()生成一个对象后,可用tuple()生成一个二维元组,也可以使用list()生成一个组合序列类型。

总结

1. 元组的特点:元素不能被修改;
2. 元组的访问速度比列表快;
3. 元组和字符串都可以当作字典的键,但列表不能作为字典的键使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值