python数组中怎样删除符合条件的元素

Python010

python数组中怎样删除符合条件的元素,第1张

使用filter来实现,以python3为例,如果删除列表中的所有0,则可使用下面代码实现:

a = [1,2,0,3,4,0,5,0,6]

b = filter(lambda x: x != 0, a)

list(b)

效果如下:

注:如果使用python2则直接输出b即可,在python3中filter返回结果为可迭代的对象,需使用list转换成列表。

lambda

创建一个匿名函数。冒号前面是传入参数,后面是一个处理传入参数的单行表达式。

调用lambda函数返回表达式的结果。

list的sort

同于内建函数sorted。它有三个参数cmp,key,reverse,均有默认值。

cmp是一个比较器,自定义比较器的话传入两个参数x,y,返回值限制为1(x>y),

0(x=y),

-1(x<y)。默认是常规比较,数字比较,字符串比较等等。

key是对序列元素处理(比如问题中序列元素仍是序列,就可以再对序列取索引值),也就是sort的比较器实际接收到值是key处理后的结果(问题中实际参与比较的是1,2,3,4)。

reverse默认是False,意思是从小到大排序,传入True,就从大到小排。

python使数组中的元素不重复的方法:

python字典的键都是唯一的,可以用python字典的fromkeys()方法去除列表里面重复的元素,然后用list对象将字典的key转换成列表,最后输出这个列表就可以了

示例代码如下:

执行结果如下:

更多Python知识,请关注:Python自学网!!