循环遍历2个词典以查找后续词典的数量

时间:2018-09-15 14:06:33

标签: python dictionary

我有一个对象字典

dictionary['A'].objects

这些对象词典(“ a”,“ b”,“ c”等)中的每一个都包含属性字典

dictionary['A'].objects['a'].attributes

我想做的是获取给定对象的所有属性字典并创建一个新字典。这个包含所有属性的新主词典仅需要包含属性词典中的现有值,包括重复项。将会有重复的键,这在字典中是不可能发生的,因此我需要为每个值(1、2、3等)创建新的任意键。

更新:

这是我当前正在创建的字符串列表。无论出于什么原因,我去操作列表时都会丢失列表中的元素。 len(listA)在代码中的该位置返回0。如果将其推入第二个for循环,它将保持填充状态。但是,然后我提前终止了for循环,并且没有得到任何后续的属性字典。这就是为什么我一直在重新考虑该怎么做的原因,也许我的问题与使用列表有关。

    listA = []

    for objectsA in dictionary.objects:
        thisObjectA = dictionary.objects[objectsA]

        for attributesA in thisObjectA.attributes:
            listA.append(attributesA + " " + thisObjectA.attributes[attributesA])


    len(listA)

1 个答案:

答案 0 :(得分:1)

只需解码您的代码并制作此代码段,如果不能正常工作,请让我现在

sample_data = {'dictA': {'dictA1': 'A'}, 'dictB': {'dictB1': 'B'}}

listA = []

for key in sample_data.keys():
    new_data = sample_data[key]
    for key1 in new_data.keys():
        listA.append(key1 + " " + new_data[key1])

print(listA)
print(len(listA))