💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 每天学点Python之tuple 元组就是一个增加了限制的列表,主要的区别就是元组一旦确定就不能再修改。它们可以通过各自的构造函数相互转化。 ### 优势 元组与列表非常相似,但它有自己的优势: - 元组比列表速度快,同样遍历一串数值,元组的速度比类表快 - 创建安全的变量,有些变量不想在创建后被修改 - 元组是可以当作字典的键和集合的值的,列表由于是变化的,哈希值不确定而不可以 ### 元组的创建 创建一个空的元组有两种方法: ~~~ t = () t = tuple() ~~~ 而创建一个包含元素的元组同样有两种方法,下面操作结果相同: ~~~ t = ("a", "b", "c") t = tuple("abc") ~~~ 需要注意的是,tuple方法最多只能有一个参数,也就是说不能将元素依次当做参数传入。它只接受可迭代的对象作为其参数。 > 注:只包含一个元素的元组用()定义时,要加逗号,如`(2,)` ### 元组的截取 元组的截取规则与列表相同,截取后的返回结果也是元组。具体请参看[列表](http://blog.csdn.net/u013291394/article/details/50364856)这一节。 ### 元组的增加/删除 元组不支持增加与删除操作,会报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) ~~~