什么是python列表文档中的“homogenous” ?

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]

"同质"的意思就是"相似"。