Python中有没有一种数据结构可以通过键获取值,也可以通过值获取键?

1 投票
1 回答
712 浏览
提问于 2025-04-18 18:24

标题可能有点让人困惑,下面我给个例子。假设你有一个非常大的 dict,看起来像这样:

{"James": “20492”, “Mike": "292", "Tony": "11134", "Timmy": "3984", ... }

假设所有的键和值都是独一无二的,也就是说没有重复。我想通过提供 id 20492 来获取 James,或者通过提供 Mike 来获取 292

那么,除了创建另一个“反向”的 dict,比如 {"20492": "James", ... },我还有什么其他选择(最好是优雅一点的)呢?

1 个回答

0

对于这个问题,最好的数据结构(除了数据库之外)就是字典。你还需要实现一个反向字典。

如果你想使用数据库,而且你的数据量不大,可以使用sqlite(这个在最近版本的Python中自带)。你可以使用特殊的:memory:位置来创建一个内存数据库,这样速度会很快。

撰写回答