1. 程式人生 > 其它 >python常見內建函式

python常見內建函式

一. map( ) 對映

l = [1,2,3,4]
print(list(map(lambda x:x+1,l)))  # 獲取列表中每個元素並傳遞給匿名函式運算儲存返回值

二. zip( ) 拉鍊

l = [11, 22, 33, 44, 55, 66, 77]
name_list = ['jason', 'kevin', 'tony', 'jerry']
l1 = [1, 2, 3, 4, 5, 6, 7]
l2 = [8, 7, 6, 4, 3, 2, 1]
res = zip(l, name_list, l1, l2)
print(list(res))
# 結果為 [(11, 1, 8, 'jason'), (22, 2, 7, 'kevin'), (33, 3, 6, 'tony'), (44, 4, 4, 'jerry')]
# zip是按照元素個數最少的那個來決定生成多少組元素
# 元素是以列表的形式存的

三. max( )、min( ) 最大、最小值

max求最大值 min求最小值

l = [11, 22, 33, 44, 55, 66, 77]
print(max(l)) # 77
print(min(l) # 1

# 當遇到字典的時候也可以比較V值
d = {
    'jason':3000,
    'Bevin':1000000,
    'Ascar':10000000000,
    'aerry':88888
}
print(min(d,key=lambda key:d[key]))  # jason
print(max(d,key=lambda key:d[key]))  # Ascar
# 把K對應的V值取出來然後比較大小

四. reduce( ) 歸總

from functools import reduce
d = [11, 22, 33, 44, 55, 66, 77, 88, 99]
res = reduce(lambda x, y: x + y, d)
res1 = reduce(lambda x, y: x + y, d, 100)  # 還可以額外新增元素值
print(res)  # 495
print(res1)  # 595

五. filter( ) 過濾

l = [11, 22, 33, 44, 55]
res = filter(lambda x: x > 30, l)
print(list(res))  # [33, 44, 55]
# 可可以用列表生成器完成
l1 = [i for i in l if i > 30]