Remove an item from a dictionary when its key is unknown

前端 未结 10 1256
悲哀的现实
悲哀的现实 2020-11-29 19:12

What is the best way to remove an item from a dictionary by value, i.e. when the item\'s key is unknown? Here\'s a simple approach:

for key, item in some_di         


        
10条回答
  •  栀梦
    栀梦 (楼主)
    2020-11-29 20:00

    I'd build a list of keys that need removing, then remove them. It's simple, efficient and avoids any problem about simultaneously iterating over and mutating the dict.

    keys_to_remove = [key for key, value in some_dict.iteritems()
                      if value == value_to_remove]
    for key in keys_to_remove:
        del some_dict[key]
    

提交回复
热议问题