元组
概念:由简单的对象组构成,不能在原处修改(不可变),通常写成圆括号(而不是方括号)中的一系列项。不支持任何方法调用,但元组具有列表的大多数属性。
属性:
(1).任意对象的有序集合
(2).通过偏移存取
(3).属于不可变序列类型
(4).固定长度、异构、任意嵌套
(5).对象引用的数组
常见元组常量和运算:
实际应用中的元组
元组没有方法(例如,append调用在这是不可用的),然而,元组的确支持字符串和列表的一般操作,如下:
元组的特殊语法:逗号和圆括号
建议:针对元组,一直使用圆括号
转换、方法以及不可变性
对元组进行“+”、“*”以及分片操作应用于元组时将返回新元组,并且元组不提供字符串、列表和字典中的方法。例如,你想对元组进行排序,通常先得将它转换为列表并使其成为一个可变对象,才能获得使用排序方法调用的权限,或者使用新的sorted内置方法,它接受任何序列对象:
列表解析也可用于元组的转换,如下:
index和count
注意:元组的不可变性只适用于本身顶层而并非其内容。例如,元组内部的列表是可以像往常那样修改的。
为什么有了列表还要元组
因为元组的不可变性提供了某种完整性。这样你可以确保元组在程序中不会被另一个引用修改,而列表就没有这样的保证了。因此,元组的角色类似于其他语言中的“常数”声明,然而这种常数概念在Python中是与对象相结合的,而不是变量。