使用两个不等长度列表中的重复元素创建一个字典

时间:2015-07-25 07:16:57

标签: python scripting automation

list1=['abc','pqr','xyz','abc','xyz'] -> student names

list2=[50,30,20] -> marks
  1. list1和list2的长度可以不等
  2. list1可以有重复的名称
  3. 需要从这两个列表中删除字典
  4. 如果学生没有分数,则需要为他们添加0
  5. 期望的输出:

     d = {'abc':50,'pqr':30,'xyz':20,'abc':0,'xyz':0}
    

    我尝试了zip,填充无,但没有任何效果,没有在字典中获得重复的元素。

    有人可以帮我解决这个问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

你无法做你想做的事。字典是关键:键值必须唯一的值对,因为查找发生在哈希表中。因此,您不能拥有重复的密钥。

如果您需要针对单个密钥存储多个值,则可以针对密钥而不是单个值存储集合(列表或甚至另一个字典),但是您的问题将是识别哪个学生'abc'得到50分哪一个得到0。