x = 2
[i+x for i in range(3)]错误与*** NameError: name 'x' is not defined如何x在列表理解中使用?当我在函数中测试它时会发生这种情况。
4 回答

慕码人2483693
TA贡献1860条经验 获得超9个赞
您的代码对我有用,我只是在列表理解中添加了缺少的右方括号 ] 。
如果你在一个函数中使用它,你是否正确地传递了 x ?
def test(x): return [i+x for i in range(3)] test(2)
选择退出:
[2, 3, 4]

慕哥9229398
TA贡献1877条经验 获得超6个赞
代码对我来说是正确的。
>>>x =2
>>> [i+x for i in range(3)]
[2, 3, 4]
或者
>>>x =2
>>> k=[i+x for i in range(3)]
>>> k
[2, 3, 4]

MM们
TA贡献1886条经验 获得超2个赞
x = 2
[i+x for i in range(3)]
输出:[2、3、4]
这应该工作。您可以在列表理解中使用外部变量。可能是列表理解不以“]”结尾的问题。
添加回答
举报
0/150
提交
取消