map
map() 會根據提供的函式對指定序列做對映。
第乙個引數 function 以引數序列中的每乙個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表。
在python2中返回列表,在python3中返回迭代器。
def square(x):
return x ** 2
print(list(map(square, [1, 2, 3, 4])))
1 4 9 16
#使用匿名函式
print(list(map(lambda x:x**2, [1, 2, 3, 4])))
1 4 9 16
# 提供了兩個列表,對相同位置的列表資料進行相加
print(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]
filter
filter() 函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該接收兩個引數,第乙個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進行判斷,然後返回 true 或 false,最後將返回 true 的元素放到新列表中。
python2中返回列表,python3返回迭代器
def is_odd(n):
return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(list(newlist))
[1, 3, 5, 7, 9]
zipzip() 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。
了解:zip 方法在 python 2 和 python 3 中的不同:在 python 3.x 中為了減少記憶體,zip() 返回的是乙個物件。如需展示列表,需手動 list() 轉換。
a = [1, 2, 3]
b = [4, 5, 6]
c = [7,8,9,10]
res1 = zip(a, b)
res2 = zip(a, c)
print(list(res1))
print(list(res2))
[(1, 4), (2, 5), (3, 6)]
[(1, 7), (2, 8), (3, 9)]
next
next() 返回迭代器的下乙個專案。
next() 函式要和生成迭代器的iter() 函式一起使用。
# 首先獲得iterator物件:
it = iter([1, 2, 3, 4, 5])
# 迴圈:
while true:
try:
# 獲得下乙個值:
x = next(it)
print(x)
except stopiteration:
# 遇到stopiteration就退出迴圈
break
it = iter([1, 2, 5, 4, 3])
while true:
x = next(it, 'a') # 在next的時候可以設定乙個最後預設值
print(x)
if x == 'a':
break
ahash
hash() 用於獲取取乙個物件(字串或者數值等)的雜湊值。
hash() 函式可以應用於數字、字串和物件,不能直接應用於 list、set、dictionary。
在 hash() 對物件使用時,所得的結果不僅和物件的內容有關,還和物件的 id(),也就是記憶體位址有關。
hash('test') # 字串
hash(1) # 數字
hash(str([1,2,3])) # 集合
hash(str(sorted())) # 字典
help
help() 函式用於檢視函式或模組用途的詳細說明
>>>help('sys') # 檢視 sys 模組的幫助
……顯示幫助資訊……
>>>help('str') # 檢視 str 資料型別的幫助
……顯示幫助資訊……
>>>a = [1,2,3]
>>>help(a) # 檢視列表 list 幫助資訊
……顯示幫助資訊……
……顯示幫助資訊……
idid() 函式返回物件的唯一識別符號,識別符號是乙個整數。
cpython 中 id() 函式用於獲取物件的記憶體位址。
name = 'yang'
print(id(name))
enumerate
enumerate() 函式用於將乙個可遍歷的資料物件(如列表、元組或字串)組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。
list1 = iter([1,2,3,4,5])
for index,value in enumerate(list1):
print(index,value)
0 11 2
2 33 4
4 5reduce
reduce() 函式會對引數序列中元素進行累積。
函式將乙個資料集合(鍊錶,元組等)中的所有資料進行下列操作:用傳給 reduce 中的函式 function(有兩個引數)先對集合中的第 1、2 個元素進行操作,得到的結果再與第三個資料用 function 函式運算,最後得到乙個結果。看下面的例子就明白了
from functools import reduce
print(reduce(lambda x, y: x + y, [1, 2, 3, 4, 5]))
eval
eval() 函式用來執行乙個字串表示式,並返回表示式的值。在檔案中存入字典格式的字串,也可用eval轉換出來,不過一般不使用,因為我們可以使用json或者pickle模組
x = 3
print(eval('10-x'))
python函式內計時 Python函式執行計時
python函式計時 使用threading的timer定時器 from threading import timer import time def time limit interval def wraps func def time out raise runtimeerror def dec...
python中內建函式 python常用內建函式
1.map函式 對指定序列對映到指定函式,返回結果集 a 1,3,5 b 2,4,6 def mf x,y return x y map none,a,b 1,2 3,4 5,6 map mf,a,b 2,12,30 list map lambda x,y x y,1,2,3 4,5,6 5,7,9...
python內建函式怎麼畫 python 內建函式
1.all 1,0,1 判斷是否全是不等於0的數 2.any 1,0,1 有乙個數不為0 返回真 any 返回假 3.ascii 1,2,開外掛程式 進行ascii 轉換 4.bin 1 十進位制轉換為二進位制 5.bool 1 判斷是否為真 6.a bytes abcde encoding utf...