我有一个看起来像这样的数组:
data = [{'title':'10'},{'title':'15'},{'title':'25'},{'title':'6'},{'title':'4'}]
我希望迭代数组,同时删除符合特定条件的元素。
for element in data:
if element['title'] > 10:
# remove element from the array
在python中最好的方法是什么?
答案 0 :(得分:2)
data = [{'title':'10'},{'title':'15'},{'title':'25'},{'title':'6'},{'title':'4'}]
使用filter
>>> filter(lambda i : int(i['title']) <= 10, data)
[{'title': '10'}, {'title': '6'}, {'title': '4'}]
使用列表理解
>>> [i for i in data if int(i['title']) <= 10]
[{'title': '10'}, {'title': '6'}, {'title': '4'}]
答案 1 :(得分:0)
一种简单的方法。请注意[:]
for element in list[:]:
if element['title'] > 10:
list.remove(element)