这可能是一个愚蠢的问题,但由于某种原因,目前解决方案逃脱了我。词典或地图与字符串或整数作为在Python中的关键?
我希望快速有效地访问列表格式的数据。因此,例如一个问题列表:
q = {}
q[1] = "my first string"
q[2] = "my second string"
q[3] = "my third string"
我可以很容易地找到问题2的字符串是通过做q [2]。但我也想通过索引Q随字符串检索问题编号:
q["my second string"] -> gives 2 as answer
我想这样做没有遍历键(击败字典的目的),并希望避免定义第二使用字符串作为密钥的字典可避免浪费的内存。这可能吗?
最终原因是我想访问说q [2]或q [“我的第二个字符串”]并获取与问题2相关的数据,无论是使用数字还是字符串作为关键字数据。这是可能的,而不必迭代所有的密钥,同时避免数据重复?
你不能这样做...... –
dicts arn't双向,所以你要么需要第二个字典或迭代。没有其他办法。 – mata
可能重复的[有效的双向哈希表在Python?](http://stackoverflow.com/questions/3318625/efficient-bidirectional-hash-table-in-python) – ecatmur