python - 同时枚举2个Python字典的值?

标签 python dictionary zip google-colaboratory

我有两本词典:

dic_of_dics1 = {1: {"a": "A"}, 2: {"a": "B"}, 3: {"a": "C"}}
dic_of_dics2 = {1: {"d": "20"}, 2: {"d": "30"}, 3: {"d": "40"}}

我想同时枚举字典的值;类似于:Enumerate two python lists simultaneously? :

for index, (value1, value2) in enumerate(zip(dic_of_dics1, dic_of_dics2)):
print (value1, value2, subkey1, subkey2, index) 

期望的输出:

A, 20, a, d, 0
B, 30, a, d, 1
C, 40, a, d, 2

最佳答案

对于您的简化案例:

dic_of_dics1 = {1: {"a": "A"}, 2: {"a": "B"}, 3: {"a": "C"}}
dic_of_dics2 = {1: {"d": "20"}, 2: {"d": "30"}, 3: {"d": "40"}}

for val1, val2 in zip(dic_of_dics1.values(), dic_of_dics2.values()):
    print('{}, {}'.format(list(val1.values())[0], list(val2.values())[0]))

输出:

A, 20
B, 30
C, 40

更新(甚至更短):

for i, (d1, d2) in enumerate(zip(dic_of_dics1.values(), dic_of_dics2.values())):
    (k1, v1), (k2, v2) = *d1.items(), *d2.items()
    print(v1, v2, k1, k2, i, sep=', ')

输出:

A, 20, a, d, 0
B, 30, a, d, 1
C, 40, a, d, 2

关于python - 同时枚举2个Python字典的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56701499/

相关文章:

python - Spark可调参数特别是执行程序内存

python - 为什么 Selenium 在 Chrome 和 Firefox 中可以单击单选按钮,但在 IE 9 中却失败?

python - 像 Python 中的属性一样访问 OrderedDict 键

python - 数字的递归数字和,是否有更好的方法来编写这个函数?

c# - 如何在 C# 中从内存中的文件创建 ZipArchive?

python - 不更新权重的反向传播(DCGAN)

python - Python 中的异常处理不需要大量的 except 语句

swift - 我正在尝试创建一个函数,如果他们在晋升名单上,就会增加员工的工资

c# - 如何在winrt中解压SharpZipLib压缩的字符串?

python - PySpark 解压文件 : Which is a good approach for unzipping files and storing the csv files into a Delta Table?