2.12Python下元组:不可变序列

Posted by 撒得一地 on 2016年1月24日 in python教程

元组和列表一样,也是一种序列。唯一的不同是元组不能修改。(你可能注意到了,字符串也是如此)。创建元组的语法很简单:如果你用逗号分隔一些值,那么你就自动创建了元组。

>>> 1,2,3
(1, 2, 3)

元组也是(大部分时候是)通过圆括号起来的:

>>> (1,2,3)
(1, 2, 3)

空元组可以用没有包含内容的两个括号来表示:

>>> ()
()

那么如何实现包括一个值的元组呢。实现方法有些奇特——必须加个逗号,即使只有一个值:

>>> 12
12
>>> 12,
(12,)
>>> (12,)
(12,)

上面最后两个例子生成了一个长度为1的元组,而第一个例子根本不是元组。逗号是很重要的,只添加圆括号也是没用的:(42)和42是完全一样的。但是,一个逗号却能彻底改变表达式的值:

>>> 3*(20+2)
66

>>> 3*(20+2,)
(22, 22, 22)

元组和序列有一点最大的不同是,元组是不可变序列,比如:

>>> x = [1,2,3]
>>> x[0] = 2
>>> x
[2, 2, 3]

>>> y = (1,2,3)
>>> y[0] = 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

从上面的例子可以看出,列表可以对值进行修改,而元组则不能修改值。

标签:

上一篇:

下一篇:

相关推荐

网站地图|XML地图

Copyright © 2015-2024 技术拉近你我! All rights reserved.
闽ICP备15015576号-1 版权所有©psz.