成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

8個超好用的Python內置函數,提升效率必備

新聞 前端
python中有許多內置函數,不像print那么廣為人知,但它們卻異常的強大,用好了可以大大提高代碼效率。

 8個超好用的Python內置函數,提升效率必備

python中有許多內置函數,不像print那么廣為人知,但它們卻異常的強大,用好了可以大大提高代碼效率。

這次來梳理下8個好用的python內置函數。

1、set()

當需要對一個列表進行去重操作的時候,set()函數就派上用場了。

  1. obj = ['a','b','c','b','a'
  2. print(set(obj)) 
  3. # 輸出:{'b''c''a'

set([iterable])用于創建一個集合,集合里的元素是無序且不重復的

集合對象創建后,還能使用并集、交集、差集功能。

  1. A = set('hello'
  2. B = set('world'
  3.  
  4. A.union(B) # 并集,輸出:{'d''e''h''l''o''r''w'
  5. A.intersection(B) # 交集,輸出:{'l''o'
  6. A.difference(B) # 差集,輸出:{'d''r''w'

2、eval()

之前有人問如何用python寫一個四則運算器,輸入字符串公式,直接產生結果。

用eval()來做就很簡單:

8個超好用的Python內置函數,提升效率必備

eval(str_expression)作用是將字符串轉換成表達式,并且執行。

  1. a = eval('[1,2,3]'
  2. print(type(a)) 
  3. # 輸出:<class 'list'
  4.  
  5. b = eval('max([2,4,5])'
  6. print(b) 
  7. # 輸出: 5 

3、sorted()

在處理數據過程中,我們經常會用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。

這時候就需要用到sorted() ,它可以對任何可迭代對象進行排序,并返回列表。

對列表升序操作:

  1. a = sorted([2,4,3,7,1,9]) 
  2. print(a) 
  3. # 輸出:[123479

對元組倒序操作:

  1. sorted((4,1,9,6),reverse=True) 
  2. print(a) 
  3. # 輸出:[9641

使用參數:key,根據自定義規則,按字符串長度來排序:

  1. chars = ['apple','watermelon','pear','banana'
  2. a = sorted(chars,key=lambda x:len(x)) 
  3. print(a) 
  4. # 輸出:['pear''apple''banana''watermelon'

根據自定義規則,對元組構成的列表進行排序:

  1. tuple_list = [('A'1,5), ('B'3,2), ('C'2,6)] 
  2. # key=lambda x: x[1]中可以任意選定x中可選的位置進行排序 
  3. a = sorted(tuple_list, key=lambda x: x[1])  
  4. print(a) 
  5. # 輸出:[('A'15), ('C'26), ('B'32)] 

4、reversed()

如果需要對序列的元素進行反轉操作,reversed()函數能幫到你。

reversed()接受一個序列,將序列里的元素反轉,并最終返回迭代器。

  1. a = reversed('abcde'
  2. print(list(a)) 
  3. # 輸出:['e''d''c''b''a'
  4.  
  5. b = reversed([2,3,4,5]) 
  6. print(list(b)) 
  7. # 輸出:[5432

5、map()

做文本處理的時候,假如要對序列里的每個單詞進行大寫轉化操作。

這個時候就可以使用map()函數。

  1. chars = ['apple','watermelon','pear','banana'
  2. a = map(lambda x:x.upper(),chars) 
  3. print(list(a)) 
  4. # 輸出:['APPLE''WATERMELON''PEAR''BANANA'

map()會根據提供的函數,對指定的序列做映射,最終返回迭代器。

也就是說map()函數會把序列里的每一個元素用指定的方法加工一遍,最終返回給你加工好的序列。

舉個例子,對列表里的每個數字作平方處理:

  1. nums = [1,2,3,4
  2. a = map(lambda x:x*x,nums) 
  3. print(list(a)) 
  4. # 輸出:[14916

6、reduce()

前面說到對列表里的每個數字作平方處理,用map()函數。

那我想將列表里的每個元素相乘,該怎么做呢?

這時候用到reduce()函數。

  1. from functools import reduce 
  2. nums = [1,2,3,4
  3. a = reduce(lambda x,y:x*y,nums) 
  4. print(a) 
  5. # 輸出:24 

reduce()會對參數序列中元素進行累積。

第一、第二個元素先進行函數操作,生成的結果再和第三個元素進行函數操作,以此類推,最終生成所有元素累積運算的結果。

再舉個例子,將字母連接成字符串。

  1. from functools import reduce 
  2. chars = ['a','p','p','l','e'
  3. a = reduce(lambda x,y:x+y,chars) 
  4. print(a) 
  5. # 輸出:apple 

你可能已經注意到,reduce()函數在python3里已經不再是內置函數,而是遷移到了functools模塊中。

這里把reduce()函數拎出來講,是因為它太重要了。

7、filter()

一些數字組成的列表,要把其中偶數去掉,該怎么做呢?

  1. nums = [1,2,3,4,5,6
  2. a = filter(lambda x:x%2!=0,nums) 
  3. print(list(a)) 
  4. # 輸出:[1,3,5

filter()函數輕松完成了任務,它用于過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象。

filter()函數和map()、reduce()函數類似,都是將序列里的每個元素映射到函數,最終返回結果。

我們再試試,如何從許多單詞里挑出包含字母w的單詞。

  1. chars = chars = ['apple','watermelon','pear','banana'
  2. a = filter(lambda x:'w' in x,chars) 
  3. print(list(a)) 
  4. # 輸出:['watermelon'

8、enumerate()

這樣一個場景,同時打印出序列里每一個元素和它對應的順序號,我們用enumerate()函數做做看。

  1. chars = ['apple','watermelon','pear','banana'
  2. for i,j in enumerate(chars): 
  3.     print(i,j) 
  4.  
  5. ''
  6. 輸出: 
  7. 0 apple 
  8. 1 watermelon 
  9. 2 pear 
  10. 3 banana 
  11. ''

enumerate翻譯過來是枚舉、列舉的意思,所以說enumerate()函數用于對序列里的元素進行順序標注,返回(元素、索引)組成的迭代器。

再舉個例子說明,對字符串進行標注,返回每個字母和其索引。

  1. a = enumerate('abcd'
  2. print(list(a)) 
  3. # 輸出:[(0'a'), (1'b'), (2'c'), (3'd')] 

 

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2020-06-24 07:44:12

Python數據技術

2019-02-18 15:05:16

Python內置函數索引

2021-04-29 08:13:49

Mac 工具軟件

2018-05-14 17:33:28

學習編程課程

2021-06-21 11:05:30

CSS前端代碼

2017-03-07 14:26:19

Eclipse技巧效率

2023-10-16 08:27:17

java工具類

2009-03-18 09:28:14

Linux操作系統技巧

2023-12-06 12:52:00

Python

2020-08-26 12:07:02

PythonGUI庫開發

2022-04-29 08:15:40

Python技巧Max

2020-10-22 15:05:43

開發者技能工具

2022-12-29 15:20:34

開發工具

2020-03-23 09:31:51

JavaScript函數技術

2023-12-22 15:44:43

2025-03-11 14:09:04

2024-12-16 17:20:17

MySQL通配符

2024-06-13 09:50:45

2024-12-23 14:04:26

Python開發調試工具

2020-07-28 09:30:12

開發技能代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线精品强乱中文字幕 | 成人精品一区亚洲午夜久久久 | 久久精品国产一区 | 水蜜桃久久夜色精品一区 | 国产精品久久国产精品 | 国产资源网 | 日本爱爱 | 国产一级淫片a直接免费看 免费a网站 | 夜色www国产精品资源站 | 中文字幕不卡在线观看 | 国产高清一区二区三区 | 成年女人免费v片 | 欧美日韩一区二区三区四区 | 在线日韩欧美 | 成人免费一区二区 | 久久久久久久久淑女av国产精品 | 日日天天| 免费黄色a级毛片 | 毛片久久久 | 国产91久久久久蜜臀青青天草二 | 国产福利在线看 | 国产精品久久久久久一区二区三区 | 一级片在线免费播放 | 中文一区二区 | 狠狠色综合网站久久久久久久 | 中文字幕在线观看视频网站 | 精品日韩一区二区三区 | 欧美日韩亚洲视频 | www.狠狠干 | 日韩午夜精品 | 国产福利在线 | 伊人伊成久久人综合网站 | 91在线视频免费观看 | 九九九精品视频 | 毛片在线视频 | 91麻豆精品国产91久久久更新资源速度超快 | 久久久久久久久久久久久9999 | 精品久久久久久国产 | 久久精品中文 | 国产黄色在线观看 | 中文字幕亚洲区一区二 |