python之filter()函数

filter()函数是python内置的一个高阶函数。

filter()函数接受一个函数f 和一个list,这个函数f的作用是对每个元素进行判断,返回TrueFalse,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

利用filter()过滤出1~100中平方根是整数的数。
代码实现方法如下:

方法一:(开方求余看是否等于0)

import math

def is_sqrt(x):
   return math.sqrt(x)%1==0
print filter(is_sqrt, range(1, 100))

  

方法二:(开方之后的值强制变成整型 与原来的开方后的值进行比较,看是否相等)

import math

def is_sqr(x):
   y=math.sqrt(x)
   return int(y)==y
print filter(is_sqrt, range(1, 101))

 

最终的运行结果:

[1, 4, 9, 16, 25, 36, 49, 64, 81]

  

原文地址:https://www.cnblogs.com/lingan-hong/p/6295213.html