python函數七(內建函數)

來源:互聯網
上載者:User

標籤:ever   value   fun   unicode   eve   條件   pos   int   filter   

一。內建函數

1.重要內建函數

  都是帶key的: max min map filter 返回的是迭代器 

  sorted 返回的是列表 函數名在後

  1.1 max

dic = {‘k1‘:20,‘k2‘:30,‘k3‘:100}def func(x):    return dic[x]l1 = max(dic,key=func,)   #(輸出的是dic預設就是輸出dic的鍵),函數返回的是是value值,即選出最大的value對應的鍵print(l1) #k3dic = {3:20,2:30,1:100}def func(x):    return xl1 = max(dic,key=func,)     #(輸出的是dic預設就是輸出dic的鍵),函數返回的是是key值,即選出最大的keyprint(l1) #3

  1.2      zip 可以放置多個可迭代對象,以最少的可迭代對象的個數為基準,返回一個迭代器( 拉鏈方法)

l1 = [1,2,3,4,5]l2 = [‘wusir‘,‘alex‘,‘taibai‘]l3 = [‘*‘,"**"]print(zip(l1,l2))     #<zip object at 0x00000161EDC19F08>for i in zip(l1,l2,l3):    print(i)結果:(1, ‘wusir‘, ‘*‘)(2, ‘alex‘, ‘**‘)

  1.3 map

print([i*i for i in range(5)])         #[0, 1, 4, 9, 16]print(map(abs,[1,2,3,-4,-5,-7]))      #<map object at 0x0000015B0DCC75C0>   迭代器for i in map(abs,[1,2,3,-4,-5,-7]):  #abs 是內建函數,絕對值    print(i)def func(x):return x*xfor i in map(func,range(5)):          #func是自己寫的函數    print(i)def func(x):return x*xfor i in map(func,[0,1,2,3,4]):    print(i)

  1.4 filter    過濾 篩選出合格元素輸出

print([i for i in [1,2,3,4,5] if i % 2 == 0])    #[2, 4]def func1(x):return x % 2 == 0for i in filter(func1,[1,2,3,4,5]):    print(i)# 結果:# 2# 4

  1.5 sorted 返回的是列表,形成一個新列表,並返回

      list.sort() 改變原列表

l1 = [1,4,3,5,7,8]print(sorted(l1,))   #[1, 3, 4, 5, 7, 8]l = [‘fsdafsa‘,‘fddsaf‘,‘qqq‘,‘fgasjdlg;dsjfg‘]def func1(x):  return len(x)print(sorted(l,key=len))     #[‘qqq‘, ‘fddsaf‘, ‘fsdafsa‘, ‘fgasjdlg;dsjfg‘]for i in sorted(l,key=func1):    print(i)

2.其餘內建函數簡介

  2.1 # any all

print(any([‘‘,1,0]))     #True        any至少存在一個元素為真,返回True  類似 orprint(all([‘‘,1,0]))     #False       all全部元素為真,返回True     類似 and

  2.2 ord 輸入字元,返回unicode對應的編碼位置

        chr 輸入編碼位置,返回unicode對應的字元

# print(ord(‘a‘))# print(ord(‘b‘))# print(ord(‘中‘))# 結果:# 97# 98# 20013print(chr(97))         #aprint(chr(20013))      #中print(ascii(‘a‘))     #‘a‘print(ascii(‘國‘))    #\u56fd

  2.3 %r     repr 原形畢露

name = ‘alex%r‘%(‘sb‘)print(name)                 #alex‘sb‘print(repr(‘[1,2]‘))       #‘[1,2]‘

  2.4 slice() 切片

l1 = [11,22,33,44]print(l1[1::2])sl = slice(1,4,2)      #命名一個規則,之後在切片print(l1[sl])

  2.5 reversed() 形成一個新的迭代器.

l1 = [11,33,22,44,‘alex‘]l1.reverse()print(l1)      #[‘alex‘, 44, 22, 33, 11]   改變的是原列表,只能列印原列表l2 = reversed(l1)    #這是一個迭代器iteratorfor i in l2:    print(i)

二。匿名函數

一般與內建函數配合使用

格式:lambda x:x

l1 = [‘234‘,‘12‘,‘fsdafa‘,‘fdsagag‘]def func1(x):return x % 2 == 0for i in filter(func1,[1,2,3,4,5]):    print(i)   # 2  4  for i in filter(lambda x:len(x) >= 3,[‘234‘,‘12‘,‘fsdafa‘,‘fdsagag‘]):    print(i)  #  234  fsdafa  fdsagag

 

python函數七(內建函數)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.