8個超好用的Python內建函式,提公升效率必備!

2021-10-04 06:31:30 字數 3980 閱讀 6076

python中有許多內建函式,不像print那麼廣為人知,但它們卻異常的強大,用好了可以大大提高**效率。

這次來梳理下8個好用的python內建函式。

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

obj =

['a'

,'b'

,'c'

,'b'

,'a'

]print

(set

(obj)

)

set([iterable])用於建立乙個集合,集合裡的元素是無序且不重複的。

集合物件建立後,還能使用並集、交集、差集功能。

a =

set(

'hello'

)b =

set(

'world'

)a.union(b)

# 並集,輸出:

a.intersection(b)

# 交集,輸出:

a.difference(b)

# 差集,輸出:

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

用eval()來做就很簡單:

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

a = eval(』[1,2,3]』)

print(type(a))

b = eval(『max([2,4,5])』)

print(b)

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

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

對列表公升序操作:

a =

sorted([

2,4,

3,7,

1,9]

)print

(a)

對元組倒序操作:

sorted((

4,1,

9,6)

,reverse=

true

)print

(a)

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

```python

chars =[,

'watermelon'

,'pear'

,'banana'

]a =

sorted

(chars,key=

lambda x:

len(x)

)print

(a)

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

```python

tuple_list = [('a', 1,5), ('b', 3,2), ('c', 2,6)]

a = sorted(tuple_list, key=lambda x: x[1])

print(a)

4、reversed()

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

reversed()接受乙個序列,將序列裡的元素反轉,並最終返回迭代器。

a =

reversed

('abcde'

)print

(list

(a))

b =

reversed([

2,3,

4,5]

)print

(list

(b))

5、map()

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

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

chars =[,

'watermelon'

,'pear'

,'banana'

]a =

map(

lambda x:x.upper(

),chars)

print

(list

(a))

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

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

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

nums =[1

,2,3

,4]a =

map(

lambda x:x*x,nums)

print

(list

(a))

6、reduce()

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

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

這時候用到reduce()函式。

from functools import

reduce

nums =[1

,2,3

,4]a =

reduce

(lambda x,y:x*y,nums)

print

(a)

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

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

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

from functools import

reduce

chars =

['a'

,'p'

,'p'

,'l'

,'e'

]a =

reduce

(lambda x,y:x+y,chars)

print

(a)

你可能已經注意到,reduce()函式在python3裡已經不再是內建函式,而是遷移到了functools模組中。

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

7、filter()

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

nums =[1

,2,3

,4,5

,6]a =

filter

(lambda x:x%2!=

0,nums)

print

(list

(a))

filter()函式輕鬆完成了任務,它用於過濾序列,過濾掉不符合條件的元素,返回乙個迭代器物件。

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

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

chars = chars =[,

'watermelon'

,'pear'

,'banana'

]a =

filter

(lambda x:

'w'in x,chars)

print

(list

(a))

8、enumerate()

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

chars =[,

'watermelon'

,'pear'

,'banana'

]for i,j in

enumerate

(chars)

:print

(i,j)

a =

enumerate

('abcd'

)print

(list

(a))

8個超好用的Python內建函式,提公升效率必備

python中有許多內建函式,不像print那麼廣為人知,但它們卻異常的強大,用好了可以大大提高 效率。這次來梳理下8個好用的python內建函式。1 set 當需要對乙個列表進行去重操作的時候,set 函式就派上用場了。obj a b c b a print set obj 輸出 set iter...

Python小白必備的8個最常用的內建函式

python給我們內建了大量功能函式,官方文件上列出了69個,有些是我們是平時開發中經常遇到的,也有一些函式很少被用到,這裡列舉被開發者使用最頻繁的8個函式以及他們的詳細用法 print函式是你學python接觸到的第乙個函式,它將物件輸出到標準輸出流,可將任意多個物件列印出來,函式的具體定義 pr...

Python小白必備的8個最常用的內建函式

python給我們內建了大量功能函式,官方文件上列出了69個,有些是我們是平時開發中經常遇到的,也有一些函式很少被用到,這裡列舉被開發者使用最頻繁的8個函式以及他們的詳細用法 print函式是你學python接觸到的第乙個函式,它將物件輸出到標準輸出流,可將任意多個物件列印出來,函式的具體定義 pr...