什么';Python中同质序列和异构序列的区别是什么?

什么';Python中同质序列和异构序列的区别是什么?,python,Python,在Python中,列表是一种同质序列,而元组是一种异质序列。但是在一个列表中,我们仍然可以在其中放入任意类型的数据,比如a=[1,2,'abc']。那么,Python中同构序列和异构序列之间的真正区别是什么呢?列表和元组在Python中基本相同,只是列表是可变的,元组是不可变的。列表和元组可以是同质的,也可以是异构的 如果希望序列具有强制同质性,请使用数组模块或使用NumPy,例如 文档 从: 列表是可变序列,通常用于存储同质项目的集合(精确的相似程度因应用而异) 元组是不可变的序列,通常用于存

在Python中,列表是一种同质序列,而元组是一种异质序列。但是在一个列表中,我们仍然可以在其中放入任意类型的数据,比如
a=[1,2,'abc']
。那么,Python中同构序列和异构序列之间的真正区别是什么呢?

列表和元组在Python中基本相同,只是列表是可变的,元组是不可变的。列表和元组可以是同质的,也可以是异构的

如果希望序列具有强制同质性,请使用
数组
模块或使用NumPy,例如

文档 从:

列表是可变序列,通常用于存储同质项目的集合(精确的相似程度因应用而异)

元组是不可变的序列,通常用于存储异构数据的集合(例如内置的enumerate()生成的2元组)。元组也用于需要不可变的同质数据序列的情况(例如允许存储在集合或dict实例中)


列表和元组都可以包含不同类型的实例。它们之间的主要区别在于元组是不可变的。你在哪里读到过Python中的同构序列列表?@FrédéricHamidi在文档中说了这一点。我对此投了反对票,因为Python列表实际上不是同构的。@Marcin:我不确定这是投反对票的适当理由。@FrédéricHamidi我犯了一个错误。在文档中,它说“列表是可变的,它们的元素通常是同质的,可以通过遍历列表来访问。”我在这里漏掉了“通常”这个词。你说得对,谢谢。列表和元组在大多数情况下不应该互换使用,而你的回答似乎暗示了相反的意思。@arshajii:我非常小心地将我的回答限制在关于序列本身的事实上。这不是一个合适的地方来评论哪种类型更好。