매우 긴 목록 (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.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. 한 번의 비교에 1ns 만 걸리면 하루 종일 걸릴 것입니다. – Julien
배열에 포함 된 값 범위에 대해 아는 것이 있습니까? 해당 배열 요소의 가능한 값에 대한 추가 정보가 있습니까? – Kevin
@Kevin 그들은 모두 pythagorean 트리플입니다. 그게 도움이되는지 확실하지 않습니다. –