我有两个列表,需要将它们合并成一个字典,其中键是字母,值是另一个列表中的值。 例如:如何在python中使用字典组合其他列表中的项目的所有值?
map_keys_to_values_list(["a", "b", "a"], [15, 3, 6])
无线本地环路给我:
{'a': [15, 6], 'b': [3]}
我想:
def keys_to_values_list(k_lst, v_lst):
lst = []
for i in range(len(k_lst)):
v=[]
#v.append(v_lst[i])
t = (k_lst[i],v)
lst.append(t)
my_dict = dict(lst)
for k in my_dict.keys():
val = my_dict.get(k)
for m in range(len(k_lst)):
val.append(v_lst[m])
return my_dict
,但我得到了我的价值列表中的所有值
设置default_factory为无相反的,为什么不直接调用字典(d),并返回一个纯粹的字典? –
@EnricoBorba不,我不会那样做。这将创建一个新的* vanilla * dict对象,这对于大型字典来说可能相当昂贵。与'dict(d)'相比,将'default_factory'设置为'None'非常便宜。 'd'已经是一个字典子类实例。 –