Python 幾個常見函數

本文主要總結常見的函數知識點。python

一、zip函數express

用來並行迭代,能夠把兩個序列並在一塊兒,而後返回一個元組的列表函數

names = ['Ann','Jame','Anla']
ages = [11,12,14]

print(zip(names,ages))  #[('Ann', 11), ('Jame', 12), ('Anla', 14)]
#zip能夠出來不等長的序列,當最短的序列「用完」的時候就會中止
#range會計算全部的數字,xrange就沒這個問題,它只計算前5個數字
print(zip(range(3),xrange(1000)))  #[(0, 0), (1, 1), (2, 2)]

二、enumerate函數學習

用於將一個可遍歷的數據對象(如列表、元組或字符串)組合成一個索引序列,同事列出數據和數據下標,通常用在for循環當中。spa

seasons = ['Spring','Summer','Fall','Winter']
print(list(enumerate(seasons))) #[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
print(list(enumerate(seasons,start=1))) #[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
for i,element in enumerate(seasons):
    print i,element

三、exec語句 和 eval語句code

exec語句會執行存在在字符串中的python代碼;對象

eval語句會計算python表達式(以字符串形式書寫)而且返回結果值;blog

exec("print('hello,world')")  #hello,world

print(eval("6+18*2")) #42
#eval(raw_input(prompt))等同於input()
a = input("enter expression:") #1+2
print(a) #3

四、map函數索引

map(func,seq[,seq,...]) 對序列中的每一個元素應用函數。ip

filter(func,seq) 返回其函數爲真的元素的列表

reduce(func,seq[,seq,...]) 等同於 func(func(func(seq[0],seq[1]),seq[2]),...),它會將序列的前兩個元素與給定的函數聯合使用,而且將他們的返回值和第三個元素繼續聯合使用,直到整個序列都處理完畢,而且獲得一個最終結果。

#等同於str(i) for i in range(5)
print(map(str,range(5)))  #['0', '1', '2', '3', '4']
print(map(sqrt, [4,9]))  #[2.0, 3.0]

print(filter(None, [1,0,2])) #[1, 2]

print(reduce(lambda x,y:x+y, [1,2,3,4,5])) #15

注:map和filter函數通常能夠使用列表推導式代替。

 

 

持續學習、更新中...

相關文章
相關標籤/搜索