Python中有没有一种数据结构可以通过键获取值,也可以通过值获取键?
标题可能有点让人困惑,下面我给个例子。假设你有一个非常大的 dict
,看起来像这样:
{"James": “20492”, “Mike": "292", "Tony": "11134", "Timmy": "3984", ... }
假设所有的键和值都是独一无二的,也就是说没有重复。我想通过提供 id 20492
来获取 James
,或者通过提供 Mike
来获取 292
。
那么,除了创建另一个“反向”的 dict
,比如 {"20492": "James", ... }
,我还有什么其他选择(最好是优雅一点的)呢?
1 个回答
0
对于这个问题,最好的数据结构(除了数据库之外)就是字典。你还需要实现一个反向字典。
如果你想使用数据库,而且你的数据量不大,可以使用sqlite(这个在最近版本的Python中自带)。你可以使用特殊的:memory:
位置来创建一个内存数据库,这样速度会很快。