如何对列表中的项运行比较函数?

时间:2016-11-29 06:50:15

标签: python

我有一个GPS坐标列表。我还有一个比较两个GPS坐标并计算一个值的函数。

我知道我可以创建一个嵌套循环来运行每对上的函数,但这看起来不够优雅。

是否建议在列表中的项目上运行比较功能?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用itertools.combinations

>>> from itertools import combinations
>>> list(combinations([1,2,3,4,5],2))
[(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]

这是可迭代的,因此您可以迭代和处理您的数据。

>>> for first, second in combinations([1,2,3,4,5],2):
...     print first, second
...     # perform your operation with first and second

1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5