列表中整数的成对比较

时间:2018-10-20 12:45:43

标签: python python-3.x list for-loop

我在这里要做的是比较成对的整数。

如果我有配对列表

[(10,5),(6,3),(2,20),(100,80)]

我想对每个对比较x> y 并返回False,如果任何一对都不符合条件

def function(list_or_tuple):
num_integers = len(list_or_tuple)

pairs_1 = list(zip(list_or_tuple[::2], list_or_tuple[1::2]))
print(pairs_1)
#pairs_2 = list(zip(list_or_tuple[1::2], list_or_tuple[2::2]))
#print(pairs_2)

for x1, y1 in pairs_1:
    return bool(x1 > y1)

对于上面的示例,我的程序不断返回True

我相信程序只会测试第一对,即(10,5)

我应该怎么做才能使程序测试列表中的所有配对?

1 个答案:

答案 0 :(得分:3)

all函数与列表理解一起使用会容易得多:

lst = [(10, 5), (6, 3), (2, 20), (100, 80)]
result = all(x[0] > x[1] for x in lst)