python高階函式----filter函式
阿新 • • 發佈:2018-12-20
filter函式描述
filter() 函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該接收兩個引數,第一個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進行判,然後返回 True 或 False,最後將返回 True 的元素放到新列表中。
filter() 函式的語法:
filter(function, iterable)
- function -- 判斷函式。
- iterable -- 可迭代物件。
filter()函式的返回值
返回值為迭代器物件
示例
# 1.生成1~10以內奇數的列表 def is_odd(x): return x % 2 == 1 L = [x for x in filter(is_odd, range(1, 10))] print(L) 或者: print([x for x in filter(lambda x:x % 2 == 1, range(1, 10))])
# 2. 將 1 ~ 20 的偶數用filter生成可迭代 物件後將可迭代物件生成的數放入到列表L中 def is_odd(x): return x % 2 == 0 L = [x for x in filter(is_odd, range(1, 21))] print(L) 或者: print([x for x in filter(lambda x:x % 2 == 0, range(1, 21))])
# 2. 寫一個函式is_prime(x) 判斷x是否是素數用filter函式打印出: 20 ~ 30之間的全部素數 def is_prime(x): for i in range(2, x): if x % i == 0: return False return True L = [x for x in filter(is_prime, range(20, 31))] print(L)