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.巢狀函式
deffoo():
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 ...