精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Python 內置函數與匿名函數

內置函數-----filter和map

  • filter
  • filter()函數接收一個函數 f 和一個list,這個函數 f 的作用是對每個元素進行判斷,返回 True或 False,filter()根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。

例如,要從一個list [1, 4, 6, 7, 9, 12, 17]中刪除奇數,保留奇數,首先,要編寫一個判斷奇數的函數

def add(x):

return x % 2 == 1

然后,利用filter()過濾掉偶數

a = filter(add, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

filter()過濾掉偶數后的結果

print(list(a))

#[1, 3, 5, 7, 9]

利用filter(),可以完成很多有用的功能,例如,刪除 None 或者空字符串

def is_not_empty(s):

return s and len(s.strip()) > 0

r = filter(is_not_empty,['sts', None, ' '])

print(list(r))

注意: s.strip(rm) 刪除 s 字符串中開頭、結尾處的 rm 序列的字符。

當rm為空時,默認刪除空白符(包括'\n', '\r', '\t', ' '),如下:

a = '123 '

print(a.strip())

a = '\t\t\n123\t\t\n\n'

print(a.strip())

請利用filter()過濾出1~100中平方根是整數的數,即結果應該是:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

import math # 導入數學常量

def is_sqr(x):

return math.sqrt(x) % 1 == 0 # .sqrt為開根號

s = filter(is_sqr, range(1, 101))

print(list(s))

  • map
  • Python中的map函數應用于每一個可迭代的項,返回的是一個結果list。如果有其他的可迭代參數傳進來,map函數則會把每一個參數都以相應的處理函數進行迭代處理。map()函數接收兩個參數,一個是函數,一個是序列,map將傳入的函數依次作用到序列的每個元素,并把結果作為新的list返回。

有一個list, L = [1,2,3,4,5,6,7,8],我們要將f(x)=x^2作用于這個list上,那么我們可以使用map函數處理。

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

def is_square(x):

return x * x

s = map(is_square,L)

print(list(s))

  • sorted

對List、Dict進行排序,Python提供了兩個方法 對給定的List L進行排序, 方法1.用List的成員函數sort進行排序,在本地進行排序,不返回副本 方法2.用built-in函數sorted進行排序(從2.4開始),返回副本,原始輸入不變

--------------------------------sorted---------------------------------------

sorted(iterable, key=None, reverse=False)

Return a new list containing all items from the iterable in ascending order.

A custom key function can be supplied to customise the sort order, and the

reverse flag can be set to request the result in descending order.

-----------------------------------------------------------------------------

參數說明: iterable:是可迭代類型;

key:傳入一個函數名函數的參數是可迭代類型中的每一項,根據函數的返回值大小排序; reverse:排序規則. reverse = True 降序 或者 reverse = False 升序,有默認值。

返回值:有序列表

例子

  • 列表按照其中每一個值的絕對值排序

l1 = [-1,2,-2,-4,0,1,3,5,7]

l2 = sorted(l1,key=abs)

print(l1)

print(l2)

  • 列表按照每一個元素的len排序

l = ['1','2',[1,2,3],'sssssss']

l2 = sorted(l,key=len)

print(l2)

匿名函數

  • 匿名函數:為了解決那些功能很簡單的需求而設計的一句話函數

匿名函數格式

函數名 = lambda 參數 :返回值

#參數可以有多個,用逗號隔開

#匿名函數不管邏輯多復雜,只能寫一行,且邏輯執行結束后的內容就是返回值

#返回值和正常的函數一樣可以是任意數據類型

請把以下函數變成匿名函數

def add(x,y):

return x+y

結果

kkk = lambda x, y: x+y

上面是匿名函數的函數用法。除此之外,匿名函數也不是浪得虛名,它真的可以匿名。在和其他功能函數合作的時候

l=[3,2,100,999,213,1111,31121,333]

print(max(l))

dic={'k1':10,'k2':100,'k3':30}

print(max(dic))

print(dic[max(dic,key=lambda k:dic[k])])

res = map(lambda x:x**2,[1,5,7,4,8])

for i in res:

print(i)

# 輸出

# 1

# 25

# 49

# 16

# 64

res = filter(lambda x:x>10,[5,8,11,9,15])

for i in res:

print(i)

# 輸出

# 11

# 15

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
python入門教程(七)函數式編程,匿名函數和map,filter函數
Python 匿名函數Lambda的9種用法
python 常用的基礎函數
一篇文章帶你搞定Python匿名函數
Python學習筆記 | 匿名函數lambda、映射函數map和過濾函數filter
Python 字典排序
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 缙云县| 明星| 奉新县| 金沙县| 赞皇县| 海宁市| 枣阳市| 合江县| 新安县| 和龙市| 凭祥市| 灌南县| 天祝| 伊通| 武穴市| 绵竹市| 花垣县| 海丰县| 姚安县| 鞍山市| 平度市| 嘉峪关市| 临武县| 香格里拉县| 洛浦县| 当雄县| 罗山县| 双峰县| 炎陵县| 南澳县| 泗阳县| 江都市| 融水| 武定县| 天水市| 辽中县| 木里| 安阳县| 蓝田县| 临澧县| 公主岭市|