我曾经使用过C#和Java,每当我需要一个列表时,我都想存储相同类型的对象,比如:
List<Customer> customers;
//or
List<Invoice> invoices;
Lists might contain items of different types, but usually the items all have the same type.
因此,这是可能的:
list = [1, 2, 3, "cat", some_object, "another cat", 4, "and a cat again"]
混合列表的例子有上百种,解释了为什么这是可能的。
我理解为什么在python中可以使用混合类型的列表,但是我想不出一个实际的例子。你知道吗
很长一段时间以来,我一直在想混合名单是否真的有好处。
或者只是:“我们不需要它,但我们可以!”
我是否错过了一些非常重要的关于混合列表的东西,这些东西会使我成为一个更好的python程序员?你知道吗
编辑:
我以为这个答案会给出python不能做其他事情的答案,所以让我重新表述一下:
或者仅仅是:“我们不需要它,但我们不能不这样做!”
它的应用导致多态性。假设您有多个运动对象,如
socker
、basketball
和football
,每个运动对象的播放方式不同,但所有运动对象的播放方式都不同,所以您可以这样说有趣的是那些运动是不同的课程!你知道吗
首先,正如上面链接的cross-site question中所引用的,记住像Java这样的语言可以让您创建一个
Object
数组,这与Python的默认list
非常相似。你知道吗其次,对于包含不同类型元素的数据结构,有一个非常常见的用例。举个例子:
现在返回一个
tuple
,其中包含一个字符串和一个整数。你知道吗下面是另一个例子:
如果不能用一个字符串和一个整数创建
tuple
,我们可能必须执行类似于results = {name:scores[i] for i, name in enumerate(names)}
的操作。我们可以吗?当然。。。但是,我们可以选择一个看起来更好的,甚至不必考虑我们的数据结构是否包含str
或int
或object
,也不必在编译器允许我们使用它们之前强制转换object
,这很好。你知道吗Python列出了对其他对象的相同类型引用的存储项。你知道吗
不,不是。Python没有类型检查,所以它相当于“因为我们不能做其他事情”。你知道吗
相关问题 更多 >
编程相关推荐