所以,我有一个问题要在字典中添加多个键。
所以,我有这样的事情
all_vals_dict = {}
for key in keys:
some_response = fetch(key) # returns a list
d = dict.fromKeys(some_response, key)
all_vals_dict = {**d, **all_vals}
但是我想要的是all_vals_dict,要设置的值而不是“键”。例如..
假设键= [1,2]
当键= 1
some_response = ['foo', 'bar']
d = {'foo': 1, 'bar': 1}
all_vals_dict = {'foo': 1, 'bar':1}
当键= 2
some_response = ['foo', 'baz']
d = {'foo': 2, 'baz': 2}
all_vals_dict = {'foo': 2, 'bar':1, 'baz':2}
而不是上面..我想要的是
第一次迭代后:
all_vals_dict = {'foo': {1}, 'bar': {1}}
在第二次迭代之后:
all_vals_dict = {'foo': {1, 2}, 'bar': {1}, 'baz':{2}}
最佳答案
遍历some_response
中的字符串。对于每一个,检查它是否已经作为字典中的键存在。如果是这样,请添加到集合中,否则使用新集合对其进行初始化。
在d
词典中似乎没有什么意义。
all_vals_dict = {}
for key in keys:
some_response = fetch(key) # returns a list
for label in some_response:
if label in all_vals_dict:
all_vals_dict[label].add(key)
else:
all_vals_dict[label] = {key}
关于python - 如何在python中初始化具有相同值的多个键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57877295/