gpt4 book ai didi

python - 扁平化浅层嵌套列表的习语 : how does it work?

转载 作者:太空狗 更新时间:2023-10-29 22:05:51 24 4
gpt4 key购买 nike

我在我正在处理的模块中发现了这段代码:

l = opaque_function()
thingys = [x for y in l for x in y]

我看不懂。通过实验,我能够确定它正在展平一个 2 级嵌套列表,但语法对我来说仍然是不透明的。它显然省略了一些可选的括号。

>>> l = [[1,2],[3,4]]
>>> [x for y in l for x in y]
[1, 2, 3, 4]

我的眼睛想将其解析为:[x for y in [l for x in y]][[x for y in l] for x in y],但由于 y 未定义,这两个都失败了。

我应该如何阅读这篇文章?

(估计解释完我会觉得很尴尬)

最佳答案

这曾经让我很困惑。你应该像嵌套循环一样阅读它:

new_list = []
for y in l:
for x in y:
new_list.append(x)

成为

for y in l for x in y [do] new_list.append(x)

成为

[x for y in l for x in y]

关于python - 扁平化浅层嵌套列表的习语 : how does it work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12585854/

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