<p>除了tuples是不可变也有一个语义差别应指导其使用。tuples是异构的数据结构(即,他们的作品有不同的含义),而list是均匀的序列。tuples有结构,列出有秩序。使用这种区别使得代码更加清晰,易懂。一个例子是对的页码和行号的参考位在书上,例如:my_location=(42,11)#pagenumber,linenumber</p><p>然后,您可以使用它作为一个在字典中的键存储上的位置说明。另一方面列表可以被用于存储多个位置。当然有人可能会想添加或删除列表中的位置,因此它是有道理的列表是可变的。在另一方面,它可能没有意义改变了位置的tuples的页面数量,同时保持行号不变-这会给您一个完全新的位置。另一方面,可能存在其中它非常有意义纠正只是行数(无需更换整个tuples)的情况。有关于这个问题的一些有趣的文章,如:“Pythontuples不只是常量列表”或“了解tuples与列表中的Python”。Python官方文档也提到了这一点(“tuples是不可变的,并且通常包含一个异类序列...”)。在这样的Haskell是静态类型语言中的tuples一般值有不同的类型和tuples的长度必须是固定的。在一个列表中的值都具有相同的类型和长度是不固定的。这样的区别是很明显的。最后是namedtuple在Python中,这是有道理的,因为一个tuples已经应该有结构。这强调的想法,tuples是一个轻量级的替代类和实例。本文由免费劳务派遣系统软件系统起航劳务派遣系统原创,转载请注明出处。</p>