我有一个像这样的python字典:
tt={'plot1':[
{'var': 'ok__you', 'uuid': '98782098109'},
{'var': 'hdg__akj', 'uuid': '712837901'}
],
'plot2': [
{'var': 'ok__you2', 'uuid': '987820981092'},
{'var': 'hdg__akj2', 'uuid': '7128379012'}
]}
我正在尝试将所有uuids
放入一个列表中,所以,我这样做了:
lst=[v_i['uuid'] for v_i in value for key,value in tt.items()]
我被抛出:
NameError: name 'value' is not defined
我不知道为什么会这样-我在value
迭代中指定了tt.items()
-不知道为什么会抛出此错误?
会喜欢任何提示!
答案 0 :(得分:2)
您交换了两个for循环的顺序
lst=[v_i['uuid'] for key,value in tt.items() for v_i in value]
输出将是
['98782098109', '712837901', '987820981092', '7128379012']
此外,由于您没有使用键,因此可以迭代字典的值
lst=[v_i['uuid'] for value in tt.values() for v_i in value]