在keys部分添加带有python dict值的数字



我已经创建了如下所述的字典。从这本字典中,我正在将键和值写入一个文件中。

comp_dict = { 1:
          { 'partname' : 'one' ,
           'jar': [{'soa_jar_name' : 'jar1.jar' , 'archivename' : 'archjar1.jar'},
             {'soa_jar_name' : 'jar2.jar' , 'archivename' : 'archjar2.jar'},
             {'soa_jar_name' : 'jar3.jar' , 'archivename' : 'archjar3.jar'}]},
           2:
           { 'partname' : 'two' , 'jar': 
            [{'soa_jar_name' : 'jarany.jar' , 'archivename' : 'archjarany.jar'},
              {'soa_jar_name' : 'jarmine.jar' , 'archivename' : 'archjarmine.jar'},
              {'soa_jar_name' : 'jarnew1.jar' , 'archivename' : 'archjarnew1.jar'}]}}

我使用了以下代码来获得结果。

for key in comp_dict:
for listitem in comp_dict[key]['jar']:
    inner_dict = dict(listitem)
    print('partname: {}'.format(comp_dict[key]['partname']))
    for inner_key, inner_value in inner_dict.items():            
        print('t{}: {}'.format(inner_key, inner_value))
    print()

这是上面的代码结果。

partname: one
    soa_jar_name: jar1.jar
    archivename: archjar1.jar
partname: one
    soa_jar_name: jar2.jar
    archivename: archjar2.jar
partname: one
    soa_jar_name: jar3.jar
    archivename: archjar3.jar
partname: two
    soa_jar_name: jarany.jar
    archivename: archjarany.jar
partname: two
    soa_jar_name: jarmine.jar
    archivename: archjarmine.jar

但我需要在下面提到的每个键部分添加数字。

partname.1: one
    soa_jar_name.1: jar1.jar
    archivename.1: archjar1.jar
partname.2: one
    soa_jar_name.2: jar2.jar
    archivename.2: archjar2.jar
partname.3: one
    soa_jar_name.3: jar3.jar
    archivename.3: archjar3.jar
partname.4: two
    soa_jar_name.4: jarany.jar
    archivename.4: archjarany.jar
partname.5: two
    soa_jar_name.5: jarmine.jar
    archivename.5: archjarmine.jar
partname.6: two
    soa_jar_name.6: jarnew1.jar
    archivename.6: archjarnew1.jar

有人能在这里帮我吗

尝试:

count = 1
for key in comp_dict:
    for listitem in comp_dict[key]['jar']:
        inner_dict = dict(listitem)
        print(f"partname.{count}: {comp_dict[key]['partname']}")
        for inner_key, inner_value in inner_dict.items():            
            print(f"t{inner_key}.{count}: {inner_value}")
        print()
        count+=1

partname.1: one
    soa_jar_name.1: jar1.jar
    archivename.1: archjar1.jar
partname.2: one
    soa_jar_name.2: jar2.jar
    archivename.2: archjar2.jar
partname.3: one
    soa_jar_name.3: jar3.jar
    archivename.3: archjar3.jar
partname.4: two
    soa_jar_name.4: jarany.jar
    archivename.4: archjarany.jar
partname.5: two
    soa_jar_name.5: jarmine.jar
    archivename.5: archjarmine.jar
partname.6: two
    soa_jar_name.6: jarnew1.jar
    archivename.6: archjarnew1.jar

最新更新