这一篇问文章主要介绍元组的相关知识。
元组:不可修改的序列
与列表一样,元组也是序列,唯一的差别在于元组是不能修改的(同样的,字符串也不能修改)。
元组的语法很简单。
>>>
>>> 1, 2, 3
(1, 2, 3)
>>> (1, 2, 3)
(1, 2, 3)
>>>
>>> ()
()
>>>
>>>
>>> 42
42
>>> 42,
(42,)
>>>
>>> 3 * (40 + 2)
126
>>> 3 * (40 + 2,)
(42, 42, 42)
>>>
- 只要将列表中方括号
[]
换成括号()
就是元组了 - 或者将一些值用逗号分隔,就能自动创建一个元组
- 空元组用两个不包含内容的圆括号表示
- 只包含一个值的元组,必须在元素后面加上逗号,因为括号包含的一个值和值是完全等效的!!可以想一想算术运算中要优先计算加法就是括起来的。
由于元组不可变,所以对元组执行的操作并不多。基本上与列表类似。
>>>
>>> x = 1, 2, 3
>>> x[1] # 元组可以通过索引访问
2
>>> x[0:2] # 元组切片还是元组
(1, 2)
>>>
- 元组可以用作映射中的键(以及集合中的成员),而列表不行
- 有些内置函数和方法返回元组,所以必须熟悉元组。除了不可变外,基本上与列表一致。
总结
- 序列
序列是一种数据结构,其中的元素带编号(编号从0开始)。列表、字符串和元组都属于序列,其中列表是可变的,元组和字符串不可变。访问序列可以使用切片,修改可以通过赋值。
- 成员资格
要确定特定的值是否包含在序列(或其他容器)中,可使用运算符in。将运算符in用于字符串时的情况比表特殊,这样可以查找字符串。
- 方法
一些内置内省(如列表和字符串,但不包括元组)提供了很多有用的方法。方法有点像函数,知识与特定的值相关联。方法是面向对象编程的一个重要方面。