手记

PYTHON filter()

#!/usr/bin/env python
# -*- coding:utf-8 -*-

#filter()函数是 Python 内置的另一个有用的高阶函数,
# filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,
# filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

#例如,要从一个list [1, 4, 6, 7, 9, 12, 17]中删除偶数,保留奇数
def is_odd(x):
    return x%2==1
print filter(is_odd,[1,2,3,4,5,6,7,8,9])

#删除none或空字符串
#str.strip([chars]) 移除空字符串
#s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符
def is_no_empty(s):
    return s and  len(s.strip())>0
print filter(is_no_empty,['test','  ',None,'str'])

# 请利用filter()过滤出1~100中平方根是整数的数,即结果应该是:
# [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

import math

def is_sqrt(x):
    a=int(math.sqrt(x))
    return a*a==x

print filter(is_sqrt, range(1,101))
0人推荐
随时随地看视频
慕课网APP