我正在寻找一种比较python单个列表中2个元素的方法。例如,如果我有numbers = [1,3,5,7,9]
我想比较1和3,依此类推,直到列表结束。
有什么建议吗?
答案 0 :(得分:3)
for i,j in zip(numbers[:-1],numbers[1:]):
compare(i,j)
通过排列除最后一个元素之外的列表和排除第一个元素的列表来比较所有相邻元素。
答案 1 :(得分:1)
尝试使用itertools
:
>>> from itertools import combinations
>>> for element in combinations(numbers, 2):
... print element
...
(1,3)
(1,5)
(1,7)
(1,9)
(3,5)
(3,7)
(3,9)
(5,7)
(5,9)
(7,9)
答案 2 :(得分:0)
例如:
def compare(x, y):
"""
here you can put your code, using 'x' and 'y' var
"""
if (x + y) % 2 == 0:
return x
l = [1,3,5,7,9]
l2 = reduce(compare, l)
print l2
我希望能帮到你; - )