Python中的tuple元组(附带实例)
元组(tuple)是一个不可变的 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
可以使用命名元组给元组中的元素起一个有意义的名字,示例代码如下:
import collections
# 声明一个名为 Person 的命名元组,这个元组包含 name 和 age 两个键
Person = collections.namedtuple('Person', 'name age')
# 使用命名元组
bob = Person(name='Bob', age=30)
print('Representation:', bob)
jane = Person(name='Jane', age=29)
print('Field by name:', jane.name)
print('Fields by index:')
for p in [bob, jane]:
print('{} is {} years old'.format(*p))
运行结果为:
Representation: Person(name='Bob', age=30)
Field by name: Jane
Fields by index:
Bob is 30 years old
Jane is 29 years old
ICP备案:
公安联网备案: