有没有什么直接的方法可以通过知道字典中的值来查找键?
我所能想到的就是:
key = [key for key, value in dict_obj.items() if value == 'value'][0]发布于 2017-07-19 08:31:12
我使用字典作为一种“数据库”,所以我需要找到一个可以重用的键。在我的例子中,如果一个键的值是None,那么我可以接受它并重用它,而不必“分配”另一个id。我只是想和大家分享一下。
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]我喜欢这个,因为我不需要尝试捕捉任何错误,比如StopIteration或IndexError。如果有可用的密钥,那么free_id将包含一个密钥。如果没有,那么它就是None。可能不是pythonic,但我真的不想在这里使用try ...
https://stackoverflow.com/questions/2568673
复制相似问题