python(內建高階函式)

2022-09-07 06:57:11 字數 1949 閱讀 4036

1.高階函式介紹:

2.內建高階函式:

(1)map(function,iterable) 函式

"""

#將列表 a 中的元素全部轉換成字串

a = [1,2,3,4]

b = map(str,a)

print(list(b))

""""""

#將下面stu列表中的姓氏進行首字母大寫操作

stu = ["zhao","qian","sun","li"]

#自定義首字母大寫方法

def namestyle(name):

return name[0].upper() + name[1:].lower()

#使用map()函式,傳入引數為,自定義的函式namestyle名稱,和可迭代物件stu

stu2 = map(namestyle,stu)

print(list(stu2))

"""

(2)filter(function,iterable) 函式

"""

#找出列表 strs 中的所有字串

strs = ["a","b","c",1,2]

def get_str(x):

if isinstance(x,str): #判斷傳入的元素 x 是否是 str 型

return true

new_strs = filter(get_str,strs)

print(list(new_strs))

""""""

#找出列表中http鏈結

(3)sorted(iterable,key,reverse) 函式

"""

#根據成績排序

def get_grade(x):

return x[1]

print(sorted(grade,key=get_grade))

""""""

# 根據字串長度排序

def len_name(x):

return len(x)

print(sorted(name,key=len_name))

"""

3.巢狀函式

def

foo():

msg = "

china

"def

fo():

return

msg

return

fo()

print(foo())

4.匿名函式

#

計算出列表中所有值的平方

li = [1,2,3,4,5]

"""#高階函式用法

def foo(x):

return x * x

print(list(map(foo,li)))

"""#

匿名函式用法

"""print(list(map(lambda x: x * x,li))) #第乙個 x 為引數,x * x 為計算邏輯

"""

#

匿名函式賦值給變數 f

f = lambda x: x *x

print(f(2))

#

求出 1-20 的所有奇數

j = list(filter(lambda x: x % 2 != 0,range(1,20)))

print(j)

python 內建高階函式

1.map abs i for i in 1,3,4,5 1 對於序列每個元素求絕對值 import random from functools import reduce print list map abs,1,3,4,5 2 對於序列每個元素求階乘 5 import random deffac...

python 內建高階函式

1.map map 函式接收兩個引數,乙個是函式,乙個是序列 map將傳入的函式依次作用到序列的每個元素,並且把結果 作為新的序列返回 求絕對值 print map abs,1,3,4,5 輸出 map列印的不是乙個列表而是乙個物件,所以我們需要轉換為列表才能列印。print list map ab...

Python 內建高階函式

map是python 內建的高階函式,其可以傳入倆個引數,第乙個引數是函式,第二個引數是乙個iterable例如list。def aa a return a a r map aa,1,2,3,4 map的返回值是乙個iterator需要使用list 或者for 輸出所有元素。print a for ...