将相同的值分配给字典中的多个键

时间:2016-07-20 20:50:11

标签: python dictionary key-value

我希望我的字典看起来像这样:

{'A': {('B','C'): 'D'}}    

我目前使用的代码似乎无法实现此结果。

dict1 = {}
with open('foo.csv') as f:
    reader = csv.DictReader(f)
    for row in reader:
        for key in ['B','C']:
            dict1.setdefault(row['A'], {}).update({row[key]: row['D']})

目前,我得到的结果如下:

{'A': {'B': 'D','C': 'D'}}

基本上,我想要B& C表示为密钥,D为其值。

我在这里做错了什么?有人可以帮我纠正这段代码吗?

1 个答案:

答案 0 :(得分:0)

您可以将这两个项目放在您想要的位置:元组:

dict1 = {}
with open('foo.csv') as f:
    reader = csv.DictReader(f)
    for row in reader:
         dict1.setdefault(row['A'], {}).update({(row['B'], row['C']): row['D']})
    #                                               ^         ^