如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。
在使用遞迴時,需要注意以下幾點:
(1).自己呼叫自己。
(2).必須有乙個明確的遞迴結束條件,稱為遞迴出口。
例1:使用遞迴函式向控制台列印3,2,1
def func(num):
print(num)
if num ==1:
return
func(num-1)
print(num,'--->')
func(3)
例2:求1-10的乘階
def product(num):
if num==1:
return 1
ret=product(num-1)
return num*ret
num=product(10)
print(num)
例3:通過程式在1-10中查詢數字7
def search_num (number,start,end):
if number==start:
return start
elif number==end:
return end
else:
middle=(start+end)//2
if middle<=number:
return search_num(number,middle,end)
else:
return search_num(number,start,middle)
ret=search_num(7,1,10)
print(ret)
一、abs()函式
求數字的絕對值
ret = abs(-21)
print(ret)#21
二、max()函式
max(iterable, key, default) 求迭代器的最大值,其中iterable 為迭代器,max會for i in … 遍歷一遍這個迭代器,然後將迭代器的每乙個返回值當做引數傳給key=func 中的func(一般用lambda表示式定義) ,然後將func的執行結果傳給key,然後以key為標準進行大小的判斷。
1、簡單使用max() 函式
ret = max(1, 2, 3)
print(ret)#3
2、使用key 關鍵字
key =函式名稱,—>指定求最大值的規則
ret = max(1, 2, -3, key=abs)
print(ret) # -3
3、根據name和price 返回最大的資訊
(1)根據name值進行比較,返回商品資訊
lst = [,,
]def name_func(dic):
return dic['name']
ret = max(lst, key=name_func)
print(ret)
(2)根據 price 值進行比較,返回商品資訊
lst = [,,
]def price_func(dic):
return dic['price']
ret = max(lst, key=price_func)
print(ret)
三、map() 函式
有兩個引數,第乙個引數是乙個函式,第二個引數是可迭代的內容。
函式會依次作用在可迭代內容的每乙個元素上進行計算,然後返回乙個新的可迭代內容。
例:求lst=[1,2,3]中每乙個元素的平方
lst = [1, 2, 3]
def square(num):
num2=num*num
return num2
ret=map(square,lst)
print(list(ret))
四、filter() 函式
filter() 函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。接收兩個引數,第乙個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進判,然後返回 true 或 false,最後將返回 true 的元素放到新列表中。
例:過濾出列表中的所有奇數
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def odd_number(num):
if num % 2 == 1:
return num
ret = filter(odd_number, lst)
print(list(ret))
python內建函式 匿名函式 遞迴
一 內建函式 內建函式詳解 二 匿名函式 匿名函式就是不需要顯示的指定函式 1 這段 2 def calc n 3 return n n 4 print calc 10 5 6 換成匿名函式 7 calc lambda n n n 8 print calc 10 匿名函式主要用來和其他函式搭配使用 ...
Python基礎08 遞迴函式 內建函式
如果乙個函式在內部呼叫自己本身,這個函式就是遞迴函式。在使用遞迴時,需要注意以下幾點 1 自己呼叫自己 2 必須有乙個明確的遞迴結束條件,稱為遞迴出口。練習1 使用遞迴函式向控制台列印3,2,1 def print num num print num if num 1 return print nu...
python 遞迴函式和內建函式筆記彙總
1 def syz args args 引數組 不必填,不限制引數的個數 引數組不常用 2 def sys2 kwargs 關鍵字引數 3 遞迴函式,不常用 自己呼叫自己 遞迴最多遞迴999,遞迴的效率不高 4 內建函式 print all 1,2,3,4,0 判斷可迭代的物件裡面的值是否都為真 備...