国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python函數的返回值、匿名函數lambda、filter函數、map函數、red

2024-09-09 19:03:29
字體:
來源:轉載
供稿:網友

本文實例講述了Python函數的返回值、匿名函數lambda、filter函數、map函數、reduce函數用法。分享給大家供大家參考,具體如下:

函數的返回值:

函數一旦執行到   return,函數就會結束,并會返回return 后面的值,如果不使用顯式使用return返回,會默認返回None 。 return None可以簡寫為   return

image_5a753821_6b50

def my_add(x,y):  z=x+y  return zprint(my_add(1,2))##打印的是返回值def my_add_none(x,y):  z=x+yprint(my_add_none(1,2))

上述代碼結果:

3None
可以通過返回列表、元組等多元素形式來返回多個值【直接返回多個值相當于返回元組】:
def func2(x,y):  list1=[]  list1.append(x)  list1.append(y)  return list1print(func2(1,2),type(func2(1,2)))def func1(x,y):  return x,yprint(func1(1,2),type(func1(1,3)))

上述代碼結果:

[1, 2] <class 'list'>(1, 2) <class 'tuple'>
也可以返回一個函數:
def my_calc(sign):  add=lambda x,y:x+y  sub=lambda x,y:x-y  if sign=='+':    return add  elif sign=='-':    return sub  else:    print("錯誤!")    return Noneadd=my_calc('+')sub=my_calc('-')print(add(1,2),sub(1,2))

匿名函數lambda:

用處: 節約代碼量,節約函數名,lambda是一個表達式而不是一個語句。它能夠出現在python語法不允許def出現的地方。 格式: lambda 參數:表達式 返回結果:返回的是將參數帶入計算后的表達式的結果
def my_calc(sign):  add=lambda x,y:x+y  sub=lambda x,y:x-y  if sign=='+':    return add  elif sign=='-':    return sub  else:    print("錯誤!")    return Noneadd=my_calc('+')sub=my_calc('-')print(add(1,2),sub(1,2))
>>> sum = lambda x,y:x+y>>> sum(4,5)9

經常使用lambda搭配filter、map、reduce來處理列表 下面介紹filter、map、reduce


filter:

格式:filter(篩選函數,可迭代的篩選參數) 用法:將篩選參數傳入到篩選函數中,根據表達式的值來判斷真假,如果為真則保留結果,為假則不保留
print(list(filter(lambda x:x%2,range(20))))#range(20)中保留下了x%2結果為真的結果,奇數print(list(filter(lambda x:x>5,range(20))))#range(20)中保留了大于5的結果

上述代碼結果:

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19][6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]


map:

格式:map(篩選函數, 可迭代的篩選參數)

用法:將篩選參數傳入到篩選函數中,返回篩選函數的結果

#返回函數的結果print(list(map(lambda x:x*x,range(20))))print(list(map(str,range(10))))

上述代碼結果:

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361]['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永兴县| 烟台市| 富川| 扎赉特旗| 库车县| 塘沽区| 锦屏县| 云和县| 江西省| 金山区| 常熟市| 达尔| 广南县| 镇雄县| 石门县| 广德县| 西乌珠穆沁旗| 平安县| 普安县| 开鲁县| 枣阳市| 宜兰市| 新余市| 上蔡县| 香港 | 关岭| 大城县| 南漳县| 祁阳县| 丽水市| 南汇区| 当涂县| 安图县| 连江县| 黄浦区| 巴南区| 汉沽区| 东至县| 勃利县| 周口市| 句容市|