您的清单很大吗?如果是这样,请使用
ifilterfrom
itertools过滤掉您不需要的元素(无需支付前期费用)。
列表不那么大?只需使用列表理解即可:
newlist = [x for x in oldlist if x not in ['a', 'c'] ]
这将创建列表的新副本。除非您真正关心内存消耗,否则通常这不是效率问题。
作为语法方便和懒惰(=大列表的效率)的一种令人满意的媒介,您可以使用
(
)代替来构建生成器而不是列表
[
]:
interestingelts = (x for x in oldlist if x not in ['a', 'c'])
此后,您可以遍历
interestingelts,但是不能对其进行索引:
for y in interestingelts: # ok print y print interestingelts[0] # not ok: generator allows sequential access only
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)