Skip to main content
 首页 » 编程设计

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

2025年05月04日9zhujiabin

我正在尝试根据 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'循环就可以使用它了。