在Python中,我有两个不同大小的列表:
x = [[0,5,10],[0,10,5]]
y = [100,500,900]
我跑步时每一步的比较是什么:
print x>y
e.g。如何比较说第一个元素:[0,5,10]与100?
答案 0 :(得分:4)
在Python 3中,您无法比较这两个列表,因为它们的元素类型不同。
在Python 2中,列表总是大于整数,句点,因此x
总是大于y
,无论x
的子列表中包含哪些元素。
答案 1 :(得分:1)
真正的问题是如何比较[0,5,10]
与100
,即列表与整数。
答案取决于Python版本。在Python 3.x中,无法比较这两种类型。在Python 2.x中,列表总是大于整数,因为类型名称list
大于int
。
在您的示例中,
中的print
语句
print x>y
建议您使用的是Python 2.x,因此x > y
的答案为True
。
答案 2 :(得分:0)
这些比较不起作用。无法比较list
和int
。所以它不会起作用
答案 3 :(得分:0)
为了扩展其他答案,文档在这方面非常好。来自the 2.7 documentation:
可以将序列对象与具有相同序列类型的其他对象进行比较。比较使用词典排序:首先比较前两个项目,如果它们不同,则确定比较的结果;如果它们相等,则比较接下来的两个项目,依此类推,直到任一序列用完为止。如果要比较的两个项本身是相同类型的序列,则递归地执行词典比较。如果两个序列的所有项目相等,则认为序列相等。
可以将序列对象与具有相同序列类型的其他对象进行比较。比较使用词典排序:首先比较前两个项目,如果它们不同,则确定比较的结果;如果它们相等,则比较接下来的两个项目,依此类推,直到任一序列用完为止。如果要比较的两个项本身是相同类型的序列,则递归地执行词典比较。如果两个序列的所有项比较相等,则认为序列相等。如果一个序列是另一个序列的初始子序列,则较短的序列是较小的(较小的)序列。
答案 4 :(得分:0)