이것은 인터넷에서 찾은 일부 코드이며 많은 설명이 없습니다. 나는 그것이 어떻게 작동하는지 궁금해. yield
및 [s for s in subsets(S)]
부분을 완전히 이해하지 못했습니다. 어떤 통찰력이라도 대단히 감사 할 것입니다!Python 3 - 하위 집합 (S)의 [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)