Create a list
list=[]
for i in range(0,15):
dict={}
dict['number']=i
dict['key']='yes'
list.append(dict)
print(list)
we have something like:
[{'number': 0, 'key': 'yes'}, {'number': 1, 'key': 'yes'}, {'number': 2, 'key': 'yes'}, {'number': 3, 'key': 'yes'}, {'number': 4, 'key': 'yes'}, {'number': 5, 'key': 'yes'}, {'number': 6, 'key': 'yes'}, {'number': 7, 'key': 'yes'}, {'number': 8, 'key': 'yes'}, {'number': 9, 'key': 'yes'}, {'number': 10, 'key': 'yes'}, {'number': 11, 'key': 'yes'}, {'number': 12, 'key': 'yes'}, {'number': 13, 'key': 'yes'}, {'number': 14, 'key': 'yes'}]
Then trying to remove all dictionary that contains 'key'=='yes'
for i in list:
if i['key']=='yes':
list.remove(i)
print(list)
we have:
[{'number': 1, 'key': 'yes'}, {'number': 3, 'key': 'yes'}, {'number': 5, 'key': 'yes'}, {'number': 7, 'key': 'yes'}, {'number': 9, 'key': 'yes'}, {'number': 11, 'key': 'yes'}, {'number': 13, 'key': 'yes'}]
which only removes even numbers, WHY?