为字典中的多个键分配相同的值
Assign the same value to multiple keys in a dictionary
我希望我的字典看起来像这样:
{'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 为值的键。
我在这里做错了什么?有人可以帮我更正这段代码吗?
您可以将这两项放在您想要的位置,在元组中:
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']})
# ^ ^
我希望我的字典看起来像这样:
{'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 为值的键。
我在这里做错了什么?有人可以帮我更正这段代码吗?
您可以将这两项放在您想要的位置,在元组中:
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']})
# ^ ^