“什么是”呢;同质的;在Python列表文档中?
在python文档中,列表定义为: 可变序列,通常用于存储同质项的集合(其中精确的相似程度因应用而异) 为什么它用于存储同类项目的集合 那么字符串和int项是否也是同构的呢“什么是”呢;同质的;在Python列表文档中?,python,list,Python,List,在python文档中,列表定义为: 可变序列,通常用于存储同质项的集合(其中精确的相似程度因应用而异) 为什么它用于存储同类项目的集合 那么字符串和int项是否也是同构的呢 a = [12,"hello"] 齐次平均数 虽然任何值都可以与任何其他值一起存储在列表中,但在处理序列时,必须扩大“种类或性质”的定义。在此扩展(或“统一”)期间,可对序列中的每个项目执行的操作集成为所有项目之间共享的“最低公共操作集” 这就是为什么“[列表]通常用于存储同质项的集合”-因此序列中的项可以以适当的统一级别
a = [12,"hello"]
齐次平均数
虽然任何值都可以与任何其他值一起存储在列表中,但在处理序列时,必须扩大“种类或性质”的定义。在此扩展(或“统一”)期间,可对序列中的每个项目执行的操作集成为所有项目之间共享的“最低公共操作集”
这就是为什么“[列表]通常用于存储同质项的集合”-因此序列中的项可以以适当的统一级别处理:
# 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()]
从技术上讲,您可以在列表中存储任何对象:
[12, "hello", list, list()]
如文档所述,列表通常用于存储类似的项目:
[12, 24, 99]
["hello", "goodbye"]
[list, dict, int]
“同质”的含义只是“相似”。它讨论了一个常见的用例(这就是为什么它说“典型”)。正如您问题中的示例所示,同质性既不是预期的,也不是强制的。即使是“同质”的含义也没有精确的定义:doc说这“将因应用而异”。这是词典术语:“同类”奇怪的措辞选择。我在这里看到的唯一一件事是它们是python对象。列表最常见的用途是对其进行迭代,因此可以预期myList中的
for i中的每个i
都提供相同的功能。此外,列表的同质性将由项目的预期功能决定。如果唯一的要求是str(i)
返回一个可用的字符串,12
和“hello”
可以被认为是相同的“类型”。