0
我有一個GPS座標列表。我也有一個功能,比較兩個GPS座標並計算出一個值。如何在列表中的項目上運行比較功能?
我知道我可以創建一個嵌套的循環來運行每對函數,但這看起來不雅觀。
是否有推薦的方法來運行列表中的項目比較功能?
感謝。
我有一個GPS座標列表。我也有一個功能,比較兩個GPS座標並計算出一個值。如何在列表中的項目上運行比較功能?
我知道我可以創建一個嵌套的循環來運行每對函數,但這看起來不雅觀。
是否有推薦的方法來運行列表中的項目比較功能?
感謝。
您可以使用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
謝謝。這很好。 –
你是什麼意思的每一雙?對於'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和1,0和2,0和3,0和4,1和2,1和3,1和4,2和3,2和4,3和4. –