gpt4 book ai didi

python - 如何展开列表理解

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:28 25 4
gpt4 key购买 nike

由于我是 Python 的新手,所以我试图理解以下代码。我知道代码计算了幂集,但是行 subsetlist = [ subset + [item] for subset in result] 有点难以理解。我怎样才能将这条复合线分解为简单的 for 循环以便于理解。

def powerset(x):
result = [[]]
for item in x:
subsetlist = [ subset + [item] for subset in result]
result.extend(subsetlist)
return result

这是我试图让它更简单的方法,但它似乎不起作用。我的 IDLE 卡住了,没有打印任何东西。

def powerset(x):
result = [[]]
for item in x:
for subset in result:
result.append(item)
print(result)

最佳答案

提示:

你们很亲密。只需将创建的空列表移到第二个循环中。

工作代码:

def powerset(x):
result = [[]]
for item in x:
subsetlist = []
for subset in result:
subsetlist.append(subset + [item])
result.extend(subsetlist)
return result

IDLE 的输出:

>>> powerset('abc')
[[], ['a'], ['b'], ['a', 'b'], ['c'], ['a', 'c'], ['b', 'c'], ['a', 'b', 'c']]

关于python - 如何展开列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46638642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com