元组是一个不可变的Python对象序列。元组变量的赋值要在定义时就进行,赋值之后就不允许有修改。
tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5, 6, 7 ); print( "tup1[0]: ", tup1[0]); print( "tup2[1:5]: ", tup2[1:5]);
通常将元组用于异构(不同)数据类型,将列表用于同类(相似)数据类型。
包含多个项目的文字元组可以分配给单个对象。当发生这种情况时,就好像元组中的项目已经“打包”到对象中。
>>> t = ('foo', 'bar', 'baz', 'qux')
将元组中的元素分别赋给变量称为拆包。
>>> (s1, s2, s3, s4) = ('foo', 'bar', 'baz', 'qux') >>> s1 'foo' >>> s2 'bar' >>> s3 'baz' >>> s4 'qux'
包装和拆包可以合并为一个语句,以进行复合分配:
>>> (s1, s2, s3, s4) = ('foo', 'bar', 'baz', 'qux') >>> s1 'foo' >>> s2 'bar' >>> s3 'baz' >>> s4 'qux'
可以构建一个元组组成的数组:
>>> pairs = [("a", 1), ("b", 2), ("c", 3)] >>> for a, b in pairs: ... print(a, b) ... a 1 b 2 c 3
可以使用命名元组给元组中的元素起一个有意义的名字: