2016-11-29 67 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

謝謝。這很好。 –