gpt4 book ai didi

python - 在 Python 字典中如何根据键的第一个值找到一个?

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

我正在使用 python 字典来存储键值对。我有重复键,例如键 6 有值 [4,2]、[5,1],我不能将其存储在字典中,因为它不允许重复键。

因此,我想到了索引键本身,例如对于键 7,有 3 个值,所以我将它们与索引一起存储为:

{(7, 0): [6, 1], (7, 1): [5, 2], (7, 2): [4, 3]}

基于以上逻辑我生成了如下字典:

{
(7, 0): [6, 1],
(7, 1): [5, 2],
(7, 2): [4, 3],

(6, 1): [4, 2],
(6, 0): [5, 1],

(5, 0): [4, 1],
(5, 1): [3, 2],

(3, 0): [2, 1],

(4, 0): [3, 1]
}

我的问题是如何找到给定键的一组值,例如对于键 7,我希望得到 [6,1]、[5,2]、[4,3] 的结果。

PS:解决方案只能使用python2.7标准库

感谢您的帮助。

最佳答案

你的答案:

print([v for k,v in d.items() if k[0]==7])

结果:

[[6, 1], [5, 2], [4, 3]]

但你没有利用字典。对于您的任务,我建议将 collections.defaultdictlist 作为默认参数

演示:

import collections

d = collections.defaultdict(list)

d[7].append([6,1])
d[7].append([5,2])
d[7].append([4,3])

print(d[7])

结果:

[[6, 1], [5, 2], [4, 3]]

关于python - 在 Python 字典中如何根据键的第一个值找到一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40695919/

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