Fer*_*iza 0 python dictionary list
我有两个清单
subject_id = [10030, 10030, 10250, 10510]
student_id = [55000, 55804, 55804, 55000]
Run Code Online (Sandbox Code Playgroud)
我想创建一个以 subject_id 作为键、以 Student_id 作为值的字典。当我尝试时dict
,zip
由于重复的键值,我只得到第二个值,而不是第一个值。
result = {10030: 55804, 10250: 55804, 10510: 55000}
Run Code Online (Sandbox Code Playgroud)
我的想法是让值成为一个列表。因此,当重复键出现时,相应的student_id将作为新元素添加到列表中。
期望的结果:
my_dict = {10030: [55000, 55804], 10250: [55804], 10510: [55000]}
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?先感谢您。
小智 5
您可以使用defaultdict(list)
。
from collections import defaultdict
subject_id = [10030, 10030, 10250, 10510]
student_id = [55000, 55804, 55804, 55000]
result = defaultdict(list)
for a, b in zip(subject_id, student_id):
result[a].append(b)
print(result)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
51 次 |
最近记录: |