Python中3个不同长度列表的嵌套字典

2024-10-01 02:36:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用三个长度不等的不同列表制作一个嵌套字典。在

这些是清单。在

jaren = ['2017', '2018']
wedstrijden = ['NED', 'GER', 'GBR', 'USA']
eventresults = [[1, 2, 3, 4], [1,2], [1,2,3,4,5,6], [1,2,3,4,5,6,7,8,9,10], [3,2,1], [6,5,4,3,2,1], [4,5,6,3], [1,2,3,4,5,6,7]]

输出应如下所示:

^{pr2}$

我目前的输出是:

main_dict = {'2017': {'NED':[1, 2, 3, 4], 'GER':[1, 2, 3, 4], 'GBR':[1, 2, 3, 4], 'USA':[1, 2, 3, 4]},{'2018': {'NED':[1,2], 'GER':[1,2], 'GBR':[1,2], 'USA':[1,2]}}

我用这个代码:

main_dict = {}
for jaar, eventresult in zip(jaren, eventresults):
    main_dict[jaar] = {}
        for wedstrijd in wedstrijden:
            main_dict[jaar][wedstrijd] = eventresult

实际上,我的list eventresults是一个数据帧列表,而不是带有整数的列表。在

有人能帮我查一下密码吗?在


Tags: in列表formaindictusanedger
1条回答
网友
1楼 · 发布于 2024-10-01 02:36:10

这很容易通过^{}ping wedstrijdeneventresults上的iterator轻松解决:

event_itr = iter(eventresults)
result = {}
for year in jaren:
    result[year] = dict(zip(wedstrijden, event_itr))

# result:
# {'2017': {'NED': [1, 2, 3, 4], 'GER': [1, 2], 'GBR': [1, 2, 3, 4, 5, 6], 'USA': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]},
#  '2018': {'NED': [3, 2, 1], 'GER': [6, 5, 4, 3, 2, 1], 'GBR': [4, 5, 6, 3], 'USA': [1, 2, 3, 4, 5, 6, 7]}}

相关问题 更多 >