0

我有一个嵌套字典,其中包含一些键值对,并且在应用 FOR LOOP 从中获取值时出错。代码就像:

gl = { 'GLEN' : {'GLENS08907' : {'801-011-02M' : 'GLEN PART'}}
       ,'GLENS10062': {'M85049/38': 'RTIO PART'}
}

for mfr,doc in gl.items():
    print('Print Mfr is : ',mfr)
    for i, k in doc.items():
        print('Doc is : ', i)
        for key in k:
            print(key + ' : '  , k[key] )

我试图获得如下输出:

Print Mfr is :  GLEN
Doc is :  GLENS08907
801-011-02M :  GLEN PART
Doc is :  GLENS10062
M85049/38 :  RTIO PART

但是在执行代码后出现错误。

Print Mfr is :  GLEN
Doc is :  GLENS08907
801-011-02M :  GLEN PART
Print Mfr is :  GLENS10062
Doc is :  M85049/38
Traceback (most recent call last):
   line 90, in <module>
    print(key + ' : '  , k[key] )
TypeError: string indices must be integers

请建议在嵌套字典中使用 For 循环的正确方法。

4

1 回答 1

0

在您的字典gl['GLEN'] = 'GLEN' : {'GLENS08907' : {'801-011-02M' : 'GLEN PART'} 中,嵌套字典中有嵌套字典,但gl['GLENS10062'] = {'M85049/38': 'RTIO PART'}没有嵌套字典。因此,代码中的print(key + ' : ' , k[key] ) 键是R而不是RTIO PART

于 2020-12-23T14:14:23.927 回答