python - 分配前引用的列表理解变量

标签 python json list-comprehension

我正在尝试根据 this JSON 生成一个列表:

city_list = [
    city
    for city in metroextractor_cities['regions'][region]['cities']
    for region in metroextractor_cities['regions']]

Python 说变量 region 在赋值前被引用:

UnboundLocalError: local variable 'region' referenced before assignment

我真的不明白。我的列表理解有什么问题?

最佳答案

你的循环方式是错误的;它们应该按嵌套顺序从左到右列出:

city_list = [
    city 
    for region in metroextractor_cities['regions']
    for city in metroextractor_cities['regions'][region]['cities']]

现在 region 设置在'outer'循环中,这样'inner'循环就可以使用它了。

关于python - 分配前引用的列表理解变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28838084/

相关文章:

python - Google Python gdata 库安装失败

php - 通过 JSON 访问错误代码

python - 如何在多个条件下向 np.array 添加元素?

java - 如何动态地将 JSON 转换为数据库表?

带有集合的 Python 嵌套字典理解

python - 是否可以将此循环转换为 python 中的列表理解

Python Binance检测对冲模式是否活跃

python - 使用 Python 从 Youtube 下载视频

python - 遍历响应并通过 Python 获取值

java - Android - 显示来自 MySQL 的数据