gpt4 book ai didi

python - 将 dict 的元组键转换为新的 dict

转载 作者:太空宇宙 更新时间:2023-11-04 08:06:22 28 4
gpt4 key购买 nike

我有一个像这样的 dict:

{
('America', 25, 'm', 'IT'): 10000,
('America', 22, 'm', 'IT'): 8999,
('Japan', 24, 'f', 'IT'): 9999,
('Japan', 23, 'f', 'IT'): 9000
}

现在,在本例中,我想使用键 ('America', 'm', 'IT') 获取所有结果。在上面,那将是:

{25: 10000, 22: 8999}

我目前的解决方案如下:

res = dict()
for key, cnt in stats.items():
country, age, sex, job = key
try:
res[(country, sex, job)][age] = cnt
except KeyError as e:
res[(country, sex, job)] = {}
res[(country, sex, job)][age] = cnt

print res['America', 'm', 'IT']

我有更好的办法吗?因为这段代码看起来并不那么简单。

最佳答案

你可以使用字典推导来做到这一点:

>>> data = {
... ('America', 25, 'm', 'IT'): 10000,
... ('America', 22, 'm', 'IT'): 8999,
... ('Japan', 24, 'f', 'IT'): 9999,
... ('Japan', 23, 'f', 'IT'): 9000
... }
>>> {x: value for (w, x, y, z), value in data.items() if w == "America" and y == "m" and z == "IT"}
{25: 10000, 22: 8999}

关于python - 将 dict 的元组键转换为新的 dict,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30659516/

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