每天学点Python之tuple

每天学点Python之tuple


元组就是一个增加了限制的列表,主要的区别就是元组一旦确定就不能再修改。它们可以通过各自的构造函数相互转化。

优势

元组与列表非常相似,但它有自己的优势:

  • 元组比列表速度快,同样遍历一串数值,元组的速度比类表快
  • 创建安全的变量,有些变量不想在创建后被修改
  • 元组是可以当作字典的键和集合的值的,列表由于是变化的,哈希值不确定而不可以

元组的创建

创建一个空的元组有两种方法:

t = ()
t = tuple()

而创建一个包含元素的元组同样有两种方法,下面操作结果相同:

t = ("a", "b", "c")
t = tuple("abc")

需要注意的是,tuple方法最多只能有一个参数,也就是说不能将元素依次当做参数传入。它只接受可迭代的对象作为其参数。

注:只包含一个元素的元组用()定义时,要加逗号,如(2,)

元组的截取

元组的截取规则与列表相同,截取后的返回结果也是元组。具体请参看列表这一节。

元组的增加/删除

元组不支持增加与删除操作,会报AttributeError错误。

元组的查找

元组的查找操作也与列表相同。

多元赋值

在列表中忘记提这个特性了,Python支持多对多的赋值方式,左值的括号可以省略,但如果前后数目不等会抛出ValueError的错误:

>>> (x,y,z)=[2,3,4]
>>> x
2
>>> y
3
>>> z
4
>>> (x,y,z)=(2,3,4)
>>> x
2
>>> y
3
>>> x,y=(2,3,4)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: too many values to unpack (expected 2)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值