2016-11-29 1 views
0

私はGPS座標のリストを持っています。私はまた、2つのGPS座標を比較し、値を計算する関数を持っています。リスト内の項目に対して比較関数を実行するにはどうすればよいですか?

私はすべてのペアで関数を実行するネストループを作成できますが、これは控えめなようです。

リスト内の項目に対して比較関数を実行するための推奨方法はありますか?

ありがとうございました。

+0

どのペアの意味ですか? 'list(range(10))'に対しては、0,1,2,3,4,5などでしょうか?または0,1,1,2,2および3など?または0と1,0,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

ありがとう。これはうまくいく。 –

関連する問題