學習內建函式
包括map,sort,repr,lambda,filter,遞迴,二分法查詢
1.map:
lst = [1,4,7,2,5,8]
def func(el):
return el****2
func(lst)
或者m = map(lambda el: el**2, lst)
#把後面的可迭代物件中的每乙個元素傳遞給function, 結果就是function的返回值
2.filter
lst = [「張無忌」, 「張鐵林」, 「趙一寧」, 「石可心」,「馬大帥」]
def func(i):
if i[0] == 『張』:
return false
else:
return true
filter(func,lst)
或lambda i:i[0] !==『張』
a = filter(lambda i: i[0] != 『張』,lst)
print(a)
for j in a:
print(j)
將lst中的每一項傳遞給func, 所有返回true的都會保留, 所有返回false都會被過濾掉
3.遞迴
遞迴函式, 自己呼叫自己
count = 1
def func():
global count
print(「alex是很帥的」, count)
count = count + 1
func()
func()
遞迴深度. 你可以自己掉用自己的次數,
官方文件中遞迴最大深度是1000. 在這之前就會給你報錯
4.二分法查詢
lst = [22, 33, 44, 55, 66, 77, 88, 99, 101 , 238 , 345 , 456 , 567 , 678 , 789]
def func(n,left,right)
if left <=right: # 邊界
mid = (left + right)//2 # 必須是整除. 因為索引沒有小數
if n>lst[mid]:
left = mid +1
return func(n,left,right) # 遞迴 遞迴的入口
elif nright=mid-1
return func(n,left,right)
elif n==lst[mid]:
print(『找到了』)
rerurn lst[mid]
else:
print(『沒有這個數』)
return -1
ret = func(66,0,len(lst)-1)
print(ret)
python學習筆記 day15 作業講解
def extendlist val,list 陷阱問題,預設引數傳進去的是可變資料型別list return list list1 extendlist 10 使用的預設的,所以現在原函式中預設引數那個空列表已經變為 10 print list1 list2 extendlist 123,給lis...
iOS底層學習 day 15
我是一名ios開發者,ios底層菜鳥的高階之路30天。void viewdidload super viewdidload 的本質 struct abc objc msgsendsuper2 abc,sel registername viewdidload 區域性變數分配在棧空間 棧空間分配,從高位...
python學習筆記 day15 內建函式(三)
print bin 10 print oct 10 print hex 10 執行結果 print abs 100 執行結果 print divmod 10,3 執行結果 print round 3.1415926,3 執行結果 執行結果 按照絕對值比較誰最小,返回原來的值 執行結果 max ite...