リストがあり、順序を考慮せずにすべての一意の要素のペアのリストを作成したいとします。これを行う1つの方法は次のとおりです。
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
しかし、これも機能しません。イテレータやzipなどを使用して、これを行うためのよりPython的で効率的な方法は何ですか?