목록이 있다고 가정하고 순서를 고려하지 않고 모든 고유 한 요소 쌍 목록을 생성하려고합니다. 이 작업을 수행하는 한 가지 방법은 다음과 같습니다반복자를 복사하고 순서가 매겨지지 않은 셀프 카르티지 생성물을 생성합니다.
mylist = ['W','X','Y','Z']
for i in xrange(len(mylist)):
for j in xrange(i+1,len(mylist)):
print mylist[i],mylist[j]
W X
W Y
W Z
X Y
X Z
Y Z
내가 반복자와 함께이 작업을 수행하려면, 나는 간결하지 않는 경우에도, 다음과 같은 생각 :
import copy
it1 = iter(mylist)
for a in it1:
it2 = copy.copy(it1)
for b in it2:
print a,b
을하지만이조차하지 않습니다 작업. iterator 나 zip 등을 사용하여 더 파이썬적이고 효율적인 방법은 무엇입니까?
을한다. – Apalala
@Apalala, downvote 주셔서 감사합니다. 그러나 실제로 나는 코딩 중이며 검색하는 동안 다른 유사한 질문을 찾을 수 없습니다. – highBandWidth