How to delete items from a dictionary while iterating over it?

前端 未结 10 1394
一生所求
一生所求 2020-11-22 17:22

Is it legitimate to delete items from a dictionary in Python while iterating over it?

For example:

for k, v in mydict.iteritems():
   if k == val:
           


        
10条回答
  •  误落风尘
    2020-11-22 17:53

    You could first build a list of keys to delete, and then iterate over that list deleting them.

    dict = {'one' : 1, 'two' : 2, 'three' : 3, 'four' : 4}
    delete = []
    for k,v in dict.items():
        if v%2 == 1:
            delete.append(k)
    for i in delete:
        del dict[i]
    

提交回复
热议问题