首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python中的反向字典查找

Python中的反向字典查找
EN

Stack Overflow用户
提问于 2010-04-03 03:18:28
回答 13查看 127.5K关注 0票数 124

有没有什么直接的方法可以通过知道字典中的值来查找键?

我所能想到的就是:

代码语言:javascript
复制
key = [key for key, value in dict_obj.items() if value == 'value'][0]
EN

Stack Overflow用户

发布于 2017-07-19 08:31:12

我使用字典作为一种“数据库”,所以我需要找到一个可以重用的键。在我的例子中,如果一个键的值是None,那么我可以接受它并重用它,而不必“分配”另一个id。我只是想和大家分享一下。

代码语言:javascript
复制
db = {0:[], 1:[], ..., 5:None, 11:None, 19:[], ...}

keys_to_reallocate = [None]
allocate.extend(i for i in db.iterkeys() if db[i] is None)
free_id = keys_to_reallocate[-1]

我喜欢这个,因为我不需要尝试捕捉任何错误,比如StopIterationIndexError。如果有可用的密钥,那么free_id将包含一个密钥。如果没有,那么它就是None。可能不是pythonic,但我真的不想在这里使用try ...

票数 -1
EN
查看全部 13 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2568673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档