2016-11-29 38 views
0

我有一个GPS坐标列表。我也有一个功能,比较两个GPS坐标并计算出一个值。如何在列表中的项目上运行比较功能?

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

是否有推荐的方法来运行列表中的项目比较功能?

感谢。

+0

你是什么意思的每一双?对于'list(range(10))',它是0还是1,2和3,4和5等?或0和1,1和2,2和3等?或者0,1,0和2,0和3 ... 1和0,1和2,1和3等等。 – TigerhawkT3

+0

感谢您的评论。我的意思是0和1,0和2,0和3,0和4,1和2,1和3,1和4,2和3,2和4,3和4. –

回答

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 
+0

谢谢。这很好。 –

相关问题