說我有一個列表,我想在不考慮順序的情況下生成所有獨特元素對的列表。要做到這一點的方法之一是:複製迭代器和生成無序自笛卡爾積
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等來做這件事情的更加pythonic和有效的方式是什麼?
這是我今天已經看到了這個問題的功課第二次。 – Apalala 2011-03-11 01:54:10
@Apalala,感謝downvote,但我確實希望得到我正在編碼的東西的答案,並且在搜索時我找不到其他類似的問題。 – highBandWidth 2011-03-11 02:04:03