【发布时间】:2012-02-01 10:52:27
【问题描述】:
这是我在互联网上找到的一些代码,并没有太多解释。我只是好奇它是如何工作的。我不完全理解yield 和[s for s in subsets(S)] 部分。任何见解将不胜感激!
def subsets(aList):
if aList ==[]: # base case
yield []
else:
first = aList[0]
rest = aList[1:]
for ss in subsets(rest): # include first or don't in each
yield ss # subset of rest
yield [first]+ss
print ("\n testing subsets")
S = ['A','B','C','D','E']
ss = [s for s in subsets(S)]
print ("The subsets of",S,"are:")
print (ss)
【问题讨论】:
标签: python python-3.x yield subset