What is “homogenous” in Python list documentation?
在python文档中,列表定义为:
mutable sequences, typically used to store collections of homogeneous items (where the precise degree of similarity will vary by application).
为什么它被用来存储同类物品的集合?
那么字符串和int项也是同构的吗?
1 | a = [12,"hello"] |
同质性是指"具有相同或相似的种类或性质"。
虽然任何值都可以与任何其他值一起存储在列表中,但是在处理序列时,必须扩大"种类或性质"的定义。在这种扩展(或"统一")过程中,可以对序列中的每个项执行的操作集成为所有项之间共享的"最低公共操作集"。
这就是为什么"[列表]通常用于存储同类项的集合"-因此序列中的项可以用适当的统一级别来处理:
1 2 3 4 5 6 7 | # a list of animals that can"speak" animals = [Dog(), Cat(), Turkey()] for a in animals: a.speak() # .. but a string cannot"speak" animals = [Dog(),"Meow!", Turkey()] |
它讨论一个常见的用例(这就是为什么它说"典型")。同质性既不是预期的,也不是强制的,如您问题中的示例所示。即使这意味着项目是"同质的"并没有被精确定义:文档说这"将因应用程序而异"。
在技术上,您可以将任何对象存储在列表中:
1 | [12,"hello", list, list()] |
如文档所述,列表通常用于存储类似项目:
1 2 3 | [12, 24, 99] ["hello","goodbye"] [list, dict, int] |
"同质"的意思就是"相似"。