有数组a,要求去掉a所有为0的元素 a = [2,4,0,8,9,10,100,0,9,7] Filter a= filter(None, a) Lambada a = filter(lambda x: x != 0, a) for for b in a: if b == 0: a.remove(b)
如下的一段小程序, #-*-coding:utf-8-*- arr=[1,2,3]; for a in arr: if a<3: arr.remove(a); print arr; 我本来想用数组中自动封装好的remove()方法,删除数组arr中少于3的元素. 这个方法删除数组中单个元素是没有任何问题,但是如果想删除arr中,少于3的元素问题就来的. arr中有三个元素,1,2,3,少于3的元素有2个,删除之后很显然只是剩下[3],我开始也是这样认为,但是运行结果却是[2,3],如下图所示:
笔试时紧张没写出来,静下心后发现简单的要死. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content=&quo