Python列表文档中的“同类”是什么?

时间:2013-11-01 19:06:39

标签: python list

在python文档列表中定义为:

  

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

为什么它用于存储同类项目的集合?

字符串和int项是否同质?

a = [12,"hello"]

3 个答案:

答案 0 :(得分:11)

同质意味着"of the same or a similar kind or nature"

虽然任何值可以与任何其他值一起存储在列表中,但在处理时,“种类或性质”的定义必须加宽序列。在此扩展(或“统一”)期间,可以在序列中每个项目上执行的操作集成为 all 之间共享的“最低常见操作集”项目

这就是为什么“[list are] 通常用于存储同类项目的集合” - 所以序列中的项目可以用适当的统一级别来处理:

# 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 :(得分:2)

虽然您在技术上可以将任何对象存储在列表中:

[12, "hello", list, list()]

如文档所述,列表通常用于存储类似的项目:

[12, 24, 99]
["hello", "goodbye"]
[list, dict, int]

“同质”的含义只是“相似”。

答案 2 :(得分:2)

它讨论了一个常见的用例(这就是为什么它说“通常”)。如您的问题中的示例所示,同质性既不是预期也不是强制执行。即使对于“同质”的项目意味着什么也没有明确定义:医生说这“会因应用而异”。