列表的功能虽然很强大,但负担也很重,在很大程度上影响了运行效率。有时并不需要那么多功能,很希望能有个轻量级的列表,元组(tuple) 正是这样一种类型。在形式上,元组的所有元素放在一对原括号中,元素之间使用逗号分隔,如果元组中只有一个元素则必须在最后增加一个逗号。
x = (1, 2, 3) # 直接把元组赋值给一个变量
print(type(x)) # 使用type()函数直接查看变量的类型
print(x[0]) # 元组支持使用下标访问特定位置的元素
print(x[-1]) # 最后一个元素,元组支持双向索引
# x[1] = 4 # 元组是不可变的,
# TypeError: 'tuple' object does not support item assignment
x = (3,) # 如果元组中只有一个元素,必须在后面多写一个逗号
print(x)
x = () # 空元组
print(x)
x = tuple() # 空元组
print(x)
print(tuple(range(5))) # 将其他迭代对象转换为元组
很多内置函数的返回值也是包含了若干元组的可迭代对象,如 enumerate()、zip() 等。
print(list(enumerate(range(5))))
print(list(zip(range(3), 'abcdefg')))