从两个长度不等的列表中创建一个包含重复元素的字典
create a dictionary with duplicate elements from two unequal length of lists
list1=['abc','pqr','xyz','abc','xyz'] -> student names
list2=[50,30,20] -> marks
- list1 和 list2 可以不等长
- list1 可以有重名
- 需要根据这两个列表制作字典
- 如果学生没有分数,需要为他们打0
期望的输出:
d = {'abc':50,'pqr':30,'xyz':20,'abc':0,'xyz':0}
我尝试了 zip、padding None,但没有任何效果,字典中没有重复元素。
有人可以帮我解决这个问题吗?提前致谢。
你不能做你想做的事。字典是键:值对,其中键必须是唯一的,因为查找发生在散列 table 中。因此,您不能有重复的密钥。
如果您需要针对单个键存储多个值,您可以针对键而不是单个值存储一个集合(列表或什至另一个字典),但是您的问题将是确定哪个学生 'abc'得了50分哪一个得了0分
list1=['abc','pqr','xyz','abc','xyz'] -> student names
list2=[50,30,20] -> marks
- list1 和 list2 可以不等长
- list1 可以有重名
- 需要根据这两个列表制作字典
- 如果学生没有分数,需要为他们打0
期望的输出:
d = {'abc':50,'pqr':30,'xyz':20,'abc':0,'xyz':0}
我尝试了 zip、padding None,但没有任何效果,字典中没有重复元素。
有人可以帮我解决这个问题吗?提前致谢。
你不能做你想做的事。字典是键:值对,其中键必须是唯一的,因为查找发生在散列 table 中。因此,您不能有重复的密钥。
如果您需要针对单个键存储多个值,您可以针对键而不是单个值存储一个集合(列表或什至另一个字典),但是您的问题将是确定哪个学生 'abc'得了50分哪一个得了0分