Python:将变量的值放入新的字典中

Python:将变量的值放入新的字典中,python,dictionary,Python,Dictionary,我正在寻找一种解决方案,将两个变量的内容放入字典中。一个变量应作为键,另一个作为值 这是我的密码: dom = parseString(data) macro=dom.getElementsByTagName('macro') for node in macro: d={} id_name=node.getElementsByTagName('id')[0].toxml() id_data=id_name.replace('<id>','').replace(

我正在寻找一种解决方案,将两个变量的内容放入字典中。一个变量应作为键,另一个作为值

这是我的密码:

dom = parseString(data)
macro=dom.getElementsByTagName('macro')
for node in macro:
    d={}
    id_name=node.getElementsByTagName('id')[0].toxml()
    id_data=id_name.replace('<id>','').replace('</id>','')
    print (id_data)
    cl_name=node.getElementsByTagName('cl2')[0].toxml()
    cl_data=cl_name.replace('<cl2>','').replace('</cl2>','')
    print (cl_data)
dom=parseString(数据)
macro=dom.getElementsByTagName('macro'))
对于宏中的节点:
d={}
id_name=node.getElementsByTagName('id')[0].toxml()
id\u data=id\u name.replace(“”,“”),replace(“”,“”)
打印(id\U数据)
cl_name=node.getElementsByTagName('cl2')[0].toxml()
cl_数据=cl_名称。替换(“”“”)。替换(“”“”)
打印(cl_数据)
我希望有一个字典,id_数据作为键,cl_数据作为值,在追加时不覆盖旧数据。我该怎么办

提前感谢您的帮助

from collections import defaultdict

d=defaultdict(list)

dom = parseString(data)
macro=dom.getElementsByTagName('macro')
for node in macro:
    id_name=node.getElementsByTagName('id')[0].toxml()
    id_data=id_name.replace('<id>','').replace('</id>','')
    print (id_data)
    cl_name=node.getElementsByTagName('cl2')[0].toxml()
    cl_data=cl_name.replace('<cl2>','').replace('</cl2>','')
    print (cl_data)
    d[id_data].append(cl_data)

这与您的原始代码不同,因为我将字典构造函数从循环中拉出(您不想每次在循环中都替换字典),实际上我将元素插入到
dict
中,虽然我猜您也这样做了,但您只是不显示它。

谢谢!这正是我需要的!
d={}
for node in macro:
    ...
    d[id_data]=cl_data