我是Python的新手,所以我没有太多的经验,对不起,如果这是一个愚蠢的问题。在python中循环2个字典
我正在阅读一堆Json文件并将一些值存储到2个单独的字典中。我试图输出结果如下: ID,当前名称,初始名称 但我不知道如何通过单个for循环中的两个字典。我至今如下:
for dev, dev2 in zip(current.items(), initial.items()):
print(dev, dev2, sep=",")
字典的名称是当前和初始。然而,这个输出是重复ID,所以我有:(ID,[当前]),(ID,[初始])和格式化有一些随机unicode字符,所以我不知道如何去解决这个
任何帮助,将不胜感激!
这是全码:(我的Python 2.7.10 BTW)
from __future__ import print_function
import json
import os
import io
import shutil
current = {}
initial = {}
for file in os.listdir('.'):
if not ".json" in file:
continue
data = io.open(file, 'r', encoding="utf8")
commit = json.load(data)
for branch in commit["branches"]:
for change in branch["methodChanges"]:
method_name = change["methodProperties"]["name"]
change_type = change["methodChangeProperties"]["changeOperation"]
if method_name in current:
current[method_name].append(commit["committer"])
else:
current[method_name] = [commit["committer"]]
if change_type == "ADDED":
initial[method_name] = commit["committer"]
print("Method","Current Developer","Initial Developer", sep=",")
#for dev in current:
#print(dev, current[dev], sep=",")
#for dev2 in initial:
#print(dev2, initial[dev2], sep=",")
for dev, dev2 in zip(current.items(), initial.items()):
print(dev, dev2, sep=",")
每个在评论在最后一圈都独立工作的打印功能,我想这两个结合起来通过匹配第一个字段的输出在一个表中。我试图让输出与ID (称为名称)的表,目前,初步
目前还不清楚是什么输出你期待。字典没有排序,所以压缩它们没有意义。 – jonrsharpe
开始发布你的字典*当前和最初* – RomanPerekhrest
@jonrsharpe他们从python 3.6开始;) – Y0da