gpt4 book ai didi

python - 如何将多个值添加到 Python 字典中的键

转载 作者:太空狗 更新时间:2023-10-29 21:13:00 24 4
gpt4 key购买 nike

我正在尝试根据 name_num 字典中的值创建一个字典,其中列表的长度是新键,name_num 字典键和值是值(value)。所以:

name_num = {"Bill": [1,2,3,4], "Bob":[3,4,2], "Mary": [5, 1], "Jim":[6,17,4], "Kim": [21,54,35]}

我想创建以下字典:

new_dict = {4:{"Bill": [1,2,3,4]}, 3:{"Bob":[3,4,2], "Jim":[6,17,4], "Kim": [21,54,35]}, 2:{"Mary": [5, 1]}}

我尝试了很多变体,但这段代码让我最接近:

for mykey in name_num:
new_dict[len(name_num[mykey])] = {mykey: name_num[mykey]}

输出:

new_dict = {4:{"Bill": [1,2,3,4]}, 3:{"Jim":[6,17,4]}, 2:{"Mary": [5, 1]}}

我知道我需要以某种方式循环代码,以便我可以将其他值添加到键 3。

最佳答案

这是 defaultdict 的一个很好的用例:

from collections import defaultdict
name_num = {
'Bill': [1, 2, 3, 4],
'Bob': [3, 4, 2],
'Mary': [5, 1],
'Jim': [6, 17, 4],
'Kim': [21, 54, 35],
}

new_dict = defaultdict(dict)
for name, nums in name_num.items():
new_dict[len(nums)][name] = nums

print(dict(new_dict))

输出:

{
2: {'Mary': [5, 1]},
3: {'Bob': [3, 4, 2], 'Jim': [6, 17, 4], 'Kim': [21, 54, 35]},
4: {'Bill': [1, 2, 3, 4]}
}

关于python - 如何将多个值添加到 Python 字典中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39197261/

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