python 3.0内置函数map、filter
官網鏈接
filter(function, iterable)?Construct an iterator from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or an iterator. If function is None, the identity function is assumed, that is, all elements of iterable that are false are removed.Note that filter(function, iterable) is equivalent to the generator expression (item for item in iterable if function(item)) if function is not None and (item for item in iterable if item) if function is None.See itertools.filterfalse() for the complementary function that returns elements of iterable for which function returns false.nie filter說明 map(function, iterable, ...) Return an iterator that applies function to every item of iterable, yielding the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. With multiple iterables, the iterator stops when the shortest iterable is exhausted. For cases where the function inputs are already arranged into argument tuples, see itertools.starmap(). map說明-
map
說明:遍歷序列,對序列中每個元素進行操作,最終獲取新的序列。
例子
>>> li = [11, 22, 33] >>> new_list = map(lambda a: a + 100, li) >>> for n in new_list: print(n)111 122 133>>> new_list = map(lambda a: a + 100, li)
>>> zyl = list(new_list)
>>> zyl
[111, 122, 133]
?
>>> zyl = map(str, range(5))
>>> for i in zyl: print(i)
0
1
2
3
4
>>> zyl01 = map(add, range(5))
>>> for i in zyl01: print(i)
0
2
4
6
8
>>> zyl02 = map(lambda x: x+1, range(5))
>>> tj = list(zyl02)
>>> tj
[1, 2, 3, 4, 5]
>>> zyl03 = map(add, 'zhayilig')
>>> tj01 = list(zyl03)
>>> tj01
['zz', 'hh', 'aa', 'yy', 'ii', 'll', 'ii', 'gg']
?
>>> def add(x,y):return x+y
>>> zyl04 = map(add, 'zhagyiligon','lovepython')
>>> tj02 = list(zyl04)
>>> tj02
['zl', 'ho', 'av', 'ge', 'yp', 'iy', 'lt', 'ih', 'go', 'on']
>>> zyl05= map(add, 'zhagyilig','python')
>>> tj03 = list(zyl05)
>>> tj03
['zp', 'hy', 'at', 'gh', 'yo', 'in']
-
filter
說明:對于序列中的元素進行篩選,最終獲取符合條件的序列;?對序列中的item依次執行 function(item),將執行結果為True(!=0)的item組成一個List/String/Tuple(取決于sequence的類型)返回,False則退出(0),進行過濾;過濾返回值為1。
例子
>>> li = [11, 22, 33] >>> new_list = filter(lambda a: a > 20, li) >>> zyl = list(new_list) >>> zyl [22, 33]>>> fil = filter(div, range(6))
>>> zyl = list(fil)
>>> zyl
[1, 3, 5]
>>> fil = filter(lambda x : x%2,range(10)) ??#lambda 函數返回奇數,返回列表
>>> zyl = list(fil)
>>> zyl
[1, 3, 5, 7, 9]
>>> fil = filter(lambda x : not x%2,range(10))
>>> zyl = list(fil)
>>> zyl
[0, 2, 4, 6, 8]
?
>>> def fin(n):return n!='z' ?#過濾'z' 函數,出現z則返回False
>>> fil = filter(fin, 'zhgyilig')?
>>> for i in fil:print(i)
h
g
y
i
l
i
g
>>> fil = filter(lambda x: x != 'z', 'zhgyilig') ?#labmda返回True值
>>> zyl = list(fil)
>>> zyl
['h', 'g', 'y', 'i', 'l', 'i', 'g']
>>> fil = filter(lambda x: x == 'z', 'zhgyilig') ?#返回:字符串
>>> zyl = list(fil)
>>> zyl
['z']
?實例:將100~200以內的質數挑選出來
思路:
質數是指:只有1和它本身兩個因數,如2、3、5、7都是質數,即能被1和本身整除,1不是質數。
比如:數字N,判斷是否質數,就須判斷:能能不能整除【2,N】之間的數X(不包含本身),即N%X是否為0,要是沒有就為質數。
轉載于:https://www.cnblogs.com/zhagyilig/p/6970959.html
總結
以上是生活随笔為你收集整理的python 3.0内置函数map、filter的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下pycharm远程调试p
- 下一篇: 【Hibernate步步为营】--(一对