在列表理解上有些困惑

时间:2019-04-14 13:31:04

标签: python

由于我是python新手,所以对代码中的列表理解有些困惑,需要对列表理解中的子集正在发生的情况进行解释

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])

1 个答案:

答案 0 :(得分:0)

您的代码执行以下操作:

  • 对于Pset中的每个元素x,它将x转换为列表中的一个 元件。
  • 然后对于列表abc中的每个元素子集,它将采用该子集 并将[x]连接到它,并将其放在新的子集中。

例如,如果[x]为[4],子集为[1, 2, 3],则新子集将为[1, 2, 3, 4]

希望它能对您有所帮助。