cmp()
函式是python 2中的乙個用於比較兩個列表, 數字或字串等的大小關係的函式, 在python 3中已經無法使用這個函式了:
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> cmp(a, b) traceback (most recent call last): file "", line 1, in cmp(a, b) nameerror: name 'cmp' is not defined
>>>
在python 3中, 使用operator
模組來實現同樣的功能. 無論是在互動模式還是在文字模式下, 要使用operator
模組都需要先導入該模組:
import operator
在互動式模式下可以這樣使用:
>>> a = [1, 2]
>>> b = [1, 3]
>>> import operator
>>> operator.eq(a, b)
false
>>>
但是如果我們在文字模式下也這樣使用:
a = [1, 2]
b = [1, 3]
import operator
operator.eq(a, b)
run之後並沒有任何回顯:
***************==== restart: c:/users/master/desktop/1.py ***************====
>>>
如果要實現互動式模式下一樣的回顯, 需要使用print()函式輸出:
a = [1, 2]
b = [1, 3]
import operator
print(operator.eq(a, b))
回顯如下:
***************==== restart: c:/users/master/desktop/1.py ***************====
false
>>>
operator
模組的功能如下:
函式含義
operator.lt(a, b)
a < b
operator.le(a, b)
a <= b
operator.eq(a, b)
a == b
operator.ne(a, b)
a != b
operator.gt(a, b)
a > b
operator.ge(a, b)
a >= b
比較大小的規則是以ascii碼表為基準, 從兩個列表中的第乙個字元開始進行比較, 返回值為布林型別.
Python3 中實現flattten函式
最近歲資料集進行處理的時候需要把多維資料轉換為一維的,但是python3中 已經不支援flatten函式了,所以自己寫了乙個把多維陣列轉換為一維陣列的函式。requires authorization coding utf 8 defflatten input list output list wh...
python3中實現函式的過載
python中是不支援函式過載的,但在python3中提供了這麼乙個裝飾器functools.singledispatch,它叫做單分派泛函式,可以通過它來完成python中函式的過載,讓同乙個函式支援不同的函式型別,它提供的目的也正是為了解決函式過載的問題。看下面的例子,應該知道怎麼去使用它完成函...
python3中內建函式
完整的內建函式及其說明參考官方文件 完整的內建函式及其說明參考官方文件 1 通用內建函式 id 函式 檢視物件的記憶體位址 help 函式 檢視幫助資訊 type 函式 檢視物件的型別 不會認為子類是一種父類型別 isinstance 函式 檢視物件型別 會認為子類是一種父類型別 dir 函式 檢視...