Python:如何多次遍历字典?

时间:2020-07-21 13:08:54

标签: python loops dictionary key key-value

我想创建一个包含字典的代码,该字典可以打印出不同类型的结果。我有两个字典。其中一个具有不同的结果集,另一个字典值是空字符串,这是我希望将值存储在不同的结果集中并多次打印的地方。还想知道是否有可能创建另一个循环,在该循环中,字典的每个键中只印有第一个字母。到目前为止,这是我的代码。

a_dict = {'A': [['LA', 'Sallys', 'Associate '], ['Hollywood', 'Tonys', 'Shelf'],['Compton', 'Sally', 'Shelves']],'B': [['SAC', 'Sallys', 'Associate '], ['Townsland', 'Tonys', 'Shelf'], ['Compton', 'Tiffanys', 'Shelves']]}

b_dict = {'Site':"", 'Store':"", 'Station':""}

        for key in a_dict:

       

        b_dict.update(a_dict) 

        print(b_dict[key])

        #print(b_dict[key[0]])

我希望输出像这样

“站点”:“ LA”,“存储”:“ Sallys”,“站点”:“关联”

“站点”:“好莱坞”,“商店”:“托尼”,“车站”:“架子”

“网站”:“康普顿”,“商店”:“莎莉”,“车站”:“书架”

也这样

“站点”:“ L”,“存储”:“ S”,“站点”:“ A”

“站点”:“ H”,“存储”:“ T”,“站点”:“ S”

“站点”:“ C”,“存储”:“ S”,“站点”:“ S”

2 个答案:

答案 0 :(得分:0)

output = [
{'Site':val[0], 'Store':val[1], 'Station':val{3]}
for vals in a_dict.values()
for val in vals
]

这将为您提供所需的b_dicts列表

答案 1 :(得分:0)

因此,您拥有a_dict和键AB,它们似乎就是您所谓的“结果”,并且值是“站点”列表,其中包含用于站点名称,商店和站点。对吧?

a_dict = {
  'A': [
           ['LA', 'Sallys', 'Associate'], 
           ['Hollywood', 'Tonys', 'Shelf'],
           ['Compton', 'Sally', 'Shelves']
       ],
  'B': [
           ['SAC', 'Sallys', 'Associate '], 
           ['Townsland', 'Tonys', 'Shelf'], 
           ['Compton', 'Tiffanys', 'Shelves']
       ]
 }

您的b_dict的键是:

b_keys = ["Site", "Store", "Station"]

如果需要打印,您可以使用b_dict即时创建zip

for key, sites in a_dict.items():
    # print(key)
    for b_values in sites:
        print(dict(zip(b_keys, b_values)))

但是,如果您以后需要做其他事情,可以使用b_dict = dict(zip(b_keys, b_values))

轻松为其命名。