关于python:列表比较如何工作?

How does list comparison work?

本问题已经有最佳答案,请猛点这里访问。

我想比较两个列表。例如:

1
2
3
4
5
6
7
a = [8,9,9,11]

b = [8,7,20,10]

if a >= b :

   print"true"

为什么要打印"true"?我想像这样垂直比较这些值:

1
2
3
4
5
6
7
8 >= 8 is true

9 >= 7 is true

9 >= 20 is false but the program return true

11 >= 10 is true


您可以使用列表理解来比较两个列表元素,然后使用all函数检查所有比较是否为True

1
2
3
a = [8,9,9,11]
b = [8,7,20,10]
all(a[i]>=b[i] for i in range(len(a))) # False


您可以使用列表理解和所有功能,如下所示:

代码:

1
2
3
a = 8,9,9,11
b = 8,7,20,10
print all([(a > b) for a, b in zip(a,b)])

输出:

1
False