今天爱分享给大家带来Python中如何在遍历一个list时删除某些元素【面试题详解】,希望能够帮助到大家。
使用列表解析
somelist = [x for x in somelist if determine(x)]
上面那个操作将产生一个全新的somelist对象,而失去了对原有somelist对象的引用
#在原有对象上进行修改 somelist[:] = [x for x in somelist if determine(x)]
使用itertools
from itertools import ifilterfalse somelist[:] = list(ifilterfalse(determine, somelist))