非常に長いリスト(12471項目)のすべての項目を同じリストの他のすべての項目と比較する必要があります。以下は私のリストです:Python - リストの各項目とそのリストの他のすべての項目を比較する
[array([3, 4, 5])
array([ 6, 8, 10])
array([ 9, 12, 15])
array([12, 16, 20])
array([15, 20, 25])
...] #12471 items long
私は、彼らが同じだかどうかを確認するために、他のすべての配列の最初の項目に各配列の2番目の項目を比較する必要があります。そして、好ましくは、非常に効率的な方法で。 Python 2.xでこれを行う簡単で効率的な方法はありますか?
私はここに非常に粗製の方法を働いたが、それはひどく遅いです:
ls=len(myList) #12471
l=ls
k=0
for i in myList:
k+=1
while l>=0:
l-=1
if i[1]==myList[l][0]:
#Do stuff
l=ls
ちょうどエンベロープ計算の背面の操作を行います。あなたが行うにはN^2の比較を持っているのn = 10^7。 1回の比較に1nsしかかからない場合は、1日もかかります。 – Julien
これらの配列に含まれる値の範囲について知っていますか?それらの配列要素の可能な値に関する追加情報がありますか? – Kevin
@ケビン彼らはすべてピタゴラスのトリプルです。私はそれが役立つかどうか分からない。 –