내가 비교하고 싶은 것의 배열/목록이 있다고해라. 더 익숙한 언어로는 다음과 같이 할 것입니다.나머지 목록과 각 목록 항목을 비교하는 방법은 단 한 번입니까?
for (int i = 0, i < mylist.size(); i++)
for (int j = i + 1, j < mylist.size(); j++)
compare(mylist[i], mylist[j])
이렇게하면 각 쌍을 한 번만 비교할 수 있습니다. 일부 컨텍스트의 경우 목록에 포함 된 많은 개체에 대해 충돌 검색을 수행하고 있습니다. 감지 된 각 충돌에 대해 충돌을 설명하는 작은 '충돌'개체가 목록에 추가됩니다. 그러면 충돌하는 두 개체의 특성에 따라 다른 루틴이 각 충돌을 해결합니다. 분명히, 나는 한 번만 각 충돌을보고하고 싶다.
파이썬은 인덱스를 반복하기보다는 반복자를 사용하기 때문에이 작업을 수행하는 비법은 무엇입니까?
나는 다음 (버그) 코드했다 :for this in mylist:
for that in mylist:
compare(this, that)
을하지만이 명확하게 해결하려고 할 때 이상한 동작이 발생할 된 두 번 각각의 충돌을 선택합니다. 그렇다면이 pythonic 솔루션은 무엇입니까?
나는 "비교"가 무엇을 의미하는지 모르겠습니다. 내가 할 수있는 일은 해시 테이블에 하나의 목록을 넣은 다음 두 번째 목록에서 루프를 수행하는 것입니다. 각 반복마다 비교를 검색 할 것입니다. – Luixv