如何在保存所有键值信息的同时从python中的两个列表创建字典?

例:

last_names = ['Bakir','Jose','Jose','Pierce']

university = ['Davis', 'Stanford', 'George Town', 'Berkeley']

 渴望以下

resulting_dictionary = {'Bakir':'Davis', 'Jose': ['Stanford', 'George Town'], 'Pierce':'Berkeley'}

 我尝试了以下内容

dictionary = {key:value for key, value in zip(last_names, university)}

但获得了以下内容:

{'Bakir': 'Davis', 'Jose': 'George Town', 'Pierce': 'Berkeley'}

由于姓氏列表中的重复键值.

思考?

最佳答案 使用defaultdict

from collections import defaultdict

d = defaultdict(list)
for k, v in zip(last_names, university):
    d[k].append(v)
点赞