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...