filter map函式的區別

2022-08-22 17:03:14 字數 1086 閱讀 4641

1

defeven(num):

2if num%2==0:

3return

true

4return

false

5 lis = [1,2,3,4,5,6,7,8,9]

6 res =filter(even,lis)

7print('

filter..

',list(res)) #

filter只保留,返回為真的資料,過濾list的作用

8 res2 =map(even,lis)

9print('

map..

',list(res2)) #

map是幫你迴圈呼叫函式,這個函式返回就儲存什麼。

1011 filter.. [2, 4, 6, 8]

12 map.. [false, true, false, true, false, true, false, true, false]

map()會根據提供的函式對指定序列做對映。

第乙個引數 function 以引數序列中的每乙個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表。

filter()函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。

該接收兩個引數,第乙個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進行判,然後返回 true 或 false,最後將返回 true 的元素放到新列表中。

過濾出1~100中平方根是整數的數:

#!/usr/bin/python

#-*- coding: utf-8 -*-

import

math

defis_sqr(x):

return math.sqrt(x) % 1 ==0

newlist = filter(is_sqr, range(1, 101))

print

(newlist)

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

參考

vfork,fork,exec函式的區別

vfork用於建立乙個新程序,而該新程序的目的是exec乙個新程序,vfork和fork一樣都建立乙個子程序,但是它並不將父程序的位址空間 完全複製到子程序中,因為子程序會立即呼叫exec,於是也就不會存放該位址空間。不過在子程序中呼叫exec或exit之前,他在父程序的空間中執行。vfork和fo...

loc iloc函式的區別

import pandas as pd data1 pd.read excel r g python example1.xlsx loc 用行列標籤,iloc用數字索引。嚴格遵守使用規則,那麼索引將很容易。data1 列1列2 列3列4 0 周魏李謝 1徐祁湯包 2戴朱高關 3司呂趙何 data1....

巨集函式 內聯函式 普通函式的區別

剛剛面世完,上來就問巨集函式和普通函式的區別,整理一下 本文為本人的第一篇部落格,各位大蝦多多指點 巨集函式 在c語言中用的比較多,c 中用的比較少,巨集函式只是在預編譯階段做簡單的替換,所以不會為函式呼叫帶來額外的開銷 不必開闢一段棧空間 沒了這種開銷,就可以提高 執行的效率。但是僅僅簡單的替換也...