python學習之map函式

2021-10-11 02:23:09 字數 2169 閱讀 5513

作為python的初學者,在做題過程中遇到了有關map函式的問題,在查閱、了解、學習後,對此有了明確的認識。

本題是輸入兩個整數,可求出兩數之間的所有素數:

x,y=

map(

int,

input()

.split(

',')

)for i in

range

(x,y+1)

:for j in

range(2

,int

(i**(1

/2))

+1):

if i % j==0:

break

else

:print

(i)

由於是初學者,對於map函式並不了解。

以下舉幾個例子,來藉此了解一下map函式:

x=[1

,2,3

,4]def

f(i)

:return i*i

y=map

(f,x)

print

(list

(y))

其中

y=

map(f,x)

可以將函式f(i)與x看作是對映,而map函式可以理解為乙個將x與f(i)聯絡起來形成對映的函式。

但是切勿寫成這種形式,否則編譯器會報錯:

y=

map(f(i)

,x)

因為在這裡已經將x重的的值付給了本身它的變數i,而它本身的變數並沒有定義,所以這裡只用到他的函式關係,只用寫成y=map(f(i),x)

map 的輸入元素的列表 的關係是一一對應的

test_x =[1

,2,3

,4,5

,6,7

,8,9

] test_y =[1

,2,3

,4,5

,6]

test_z =[1

,2,3

]

r =map

(lambda x,y,z:x+y+z,test_x,test_y,test_z)

print

(list

(r))

y=

map(f,x)

print

(y)##輸出結果:

<

mapobject at 0x7fb19d194790

>

process finished with exit code 0

而宣告資料型別後,就會顯示相應的value:

y=

map(f,x)

print

(list

(y))

##輸出結果:[1

,4,9

,16]process finished with exit code 0

以此**為例:

x=[1

,2,3

,4]def

f(i)

:return i*i

y=map

(f,x)

print

(list

(y))

其中

def

f(i)

:return i*i

y=map

(f,x)

在使用map函式時,是需要使用已定義好的函式f(i)的,而map中的lambda函式,無需提前定義函式,以上述**為例,可以使用lambda函式寫成:

x=[1

,2,3

,4]y=

map(

lambda i:i*i,x)

print

(list

(y))

有些小夥伴可能會有疑問,裡面的i:ii是什麼?這個i就是隱藏函式的自變數,ii就是函式的表示式,而逗號後的x就是將列表x中的元素作為對變數所要賦的值,可以理解為是乙個定義域。

以上就是對於pytho中的map函式的基本用法以及注意事項所做的略微總結,希望對一些初學者有所幫助。

python學習之map函式和lambda函式

map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。map function,iterable,在map中,不會對itetable進行修改 def fun x return 2 x t ...

Python內建函式之map 函式

1 介紹 map 函式會根據提供的 函式名 引數對提供的乙個或多個 序列名 引數做對映,即 函式名 引數會逐一對 序列名 引數內的所有元素進行處理,並返回處理後的新列表給 序列名 使用方法 map 函式名 序列名 注意 序列名 引數允許多個,之間用逗號隔開。2 返回值 python2.x的返回值是列...

Python之Map高階函式

map 函式 map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。例如,對於list 1,2,3,4,5,6,7,8,9 如果希望把list的每個元素都作平方,就可以用map 函式 因此...