gpt4 book ai didi

python - 如何将 3 个列表合并到一个字典中(具有唯一元素)

转载 作者:行者123 更新时间:2023-11-28 21:27:57 25 4
gpt4 key购买 nike

用 Python 编写的代码

# Following Are The 3 Lists
sections = ['A', 'B', 'A', 'A', 'B']
students = ['Jack', 'Jim', 'Jack', 'Leena', 'Jim']
subjects = ['Maths', 'Biology', 'Chemistry', 'English', 'Physics']

# The Output Should Be A Dictionary
classDict = {'A':{'Jack' :{1:'Maths', 2:'Chemistry'}, 'Leena':{1:'English'}}, 'B':{'Jim':{1:'Biology', 2:'Physics'}}}

我可以将两个列表中的任何一个合并到一个字典中,只考虑前两个列表

classDict = {}   
for stu in students:
if not stu in classDict:
classDict[stu] = []
classDict[stu].append(stu)

但无法将其扩展到 n(n=3,在我的例子中)列表。

最佳答案

defaultdict 和 zip 是你的 friend :

我相信以下内容会奏效。

class_dict= defaultdict(lambda: defaultdict(lambda: defaultdict(str)))
for (section, stu, sub) in zip(sections, students, subjects):
l = len(class_dict[section][stu])
class_dict[section][stu][l+1] = sub

如果您真的愿意,您甚至可以在一行中完成此操作。

关于python - 如何将 3 个列表合并到一个字典中(具有唯一元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9442686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com