gpt4 book ai didi

python - 如何在列表理解中使用嵌套名称作为前一个可迭代对象的 __getitem__ 索引?

转载 作者:太空狗 更新时间:2023-10-30 01:07:18 25 4
gpt4 key购买 nike

我想在列表推导中使用两个 for 循环,但我想使用第二个的名称作为第一个可迭代对象的索引。我该怎么做?

例子:

l = [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
[x for x in l[i] for i in range(len(l))]

错误:

Traceback (most recent call last):
File "python", line 2, in <module>
NameError: name 'i' is not defined

最佳答案

您混淆了 for 循环的顺序。它们应该按嵌套顺序列出,这与您正常编写循环时使用的顺序相同:

[x for i in range(len(l)) for x in l[i]]

如有疑问,请像使用语句时那样写出循环。你的列表理解试图做到这一点:

for x in l[i]:
for i in range(len(l)):
x

这使得您在定义 i 之前尝试访问它变得更加明显。

关于python - 如何在列表理解中使用嵌套名称作为前一个可迭代对象的 __getitem__ 索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31935514/

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