def perm_generator(lst):
if len(lst) == 1:
yield lst
else:
for i in range(len(lst)):
for perm in perm_generator(lst[:i] + lst[i+1:]):
yield [lst[i]] + perm
这段代码一直困扰着我,因为我不理解这些yield
是如何相互连接的。我的理解是yield
像return
一样,但它暂停执行直到再次被调用。这些yield
是如何工作的呢?