我们可以通过把若干元素放在一对圆括号中创建元组,如果元组中只有一个元素,则需要多加一个逗号,例如(3,);也可以使用tuple()函数把列表、字典、集合、字符串以及range对象、map对象、zip对象或其他类似对象转换为元组。
元组与列表的区别
元组可以看作是轻量级列表,二者有很多相似之处,都属于有序序列,支持双向索引和切片操作,支持运算符+、*和in,对于内置函数的支持也是大同小异。
二者之间的根本区别在于,元组是不可变的,而列表是可变的。
● 元组是不可变的,不能直接修改元组中元素的值,也不能为元组增加或删除元素。因此,元组没有提供append()、extend()和insert()等方法,也没有remove()和pop()方法。
● 元组的访问速度比列表更快,开销更小。如果定义了一系列常量值,主要用途只是对它们进行遍历或其他类似操作,那么一般建议使用元组而不用列表。
● 元组可以使得代码更加安全。例如,调用函数时使用元组传递参数可以防止在函数中修改元组,而使用列表则无法保证这一点。
● 元组可用作字典的键,也可以作为集合的元素,但列表不可以,包含列表的元组也不可以。