【发布时间】:2021-04-06 10:39:40
【问题描述】:
x = int(input())
y = int(input())
print([[x, y] for x in range(x) for y in range(y)])
上面,每当我将迭代器变量用作 x 和 y 时,'它会显示错误'
但是当我将其更改为 a 和 b 时,'它工作正常'见下文
x = int(input())
y = int(input())
print([[a, b] for a in range(x) for b in range(y)]) #this is working fine
谁能告诉我UnboundLocalError背后的原因?
【问题讨论】:
-
将
x用于范围迭代的边界变量和迭代变量似乎是不明智的。同样y。列表推导具有特殊的内部作用域,您尝试引用x和y并分配给具有不同含义的变量x和y。
标签: python iterator list-comprehension