有些
困惑,因为我是python的新手,关于代码中的列表推导,需要解释列表理解中的子集发生了什么感谢Adv
def Powerset2(Pset):
listabc = [[]]
for x in Pset:
newsubsets = [subsets + [x] for subsets in listabc] #Explain this line in detail please
listabc.extend(newsubsets)
print(listabc)
Powerset2([2,3,4])
您的代码执行以下操作:
- 对于 Pset 中的每个元素 x,它将在列表中转换 x 一个元素。
- 然后对于listabc中的每个元素子集,它将采用该子集并将 [x] 连接到它并将其放入新子集中。
例如,如果 [x] 是 [4] 并且子集是[1, 2, 3]
则新子集将[1, 2, 3, 4]
。
我希望它能帮助你。