python的高级函数_Python的高级函数
Python的高級函數
1. map函數
map(func, *itertables) 對itertables中的每個元素使用func,當最短的itertable結束時便停止。map可以傳入多個itertable
map函數接受2個參數,一個參數是函數,一個參數是列表,map將傳入的函數依次作用到列表,并返回一個列表
>>>a = list(range(5))
>>>b = list(range(10))
>>>def func(x):
return x//2
>>>c = list(map(func, a)) # 依次作用到列表中,返回一個列表
>>>print(c)
[0, 0, 1, 1, 2]
>>>d = list(map(lambda x:x*2, b))
>>>print(d)
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
2.reduce函數
reduce(func, iterables) 對iterable中的元素順序迭代調用。
reduce非內置函數,需要import。
reduce函數接受兩個參數,且該函數必須接收2個參數,一個是函數,一個是列表,該函數每次對列表作用兩個參數,并將結果和下一個元素累積計算
from functools import reduce
>>>a = list(range(5)) # 0、1、2、3、4
>>>def func(x, y):
return x + y
>>>c = reduce(func, a) # 每次對列表作用兩個參數,將結果和下一個元素累計計算
>>>print(c)
10
>>>d = reduce(lambda x, y: x + y, a)
>>>print(d)
10
3.filter函數
filter(function or None, iterable) 對iterable的每一個元素執行函數function()并返回函數的執行結果。
filter函數接受兩個參數,一個參數為函數,一個參數為列表,filter將傳入的函數依次作用到列表中的元素,如果該元素在函數為true,則返回該元素
>>>a=list(range(5))
>>>def func(x):
return x>2
>>>c=list(filter(func, a)) # 傳入的函數依次傳入列表中元素,元素在函數中為true,返回該元素
>>>print(c)
[3, 4]
>>>d=list(filter(lambda x: x>2, a))
>>>print(d)
[3, 4]
4.sorted函數
對列表排序(默認是正向排序)
>>>a = [3,312,432,121,424]
>>>sorted(a)
[3, 121, 312, 424, 432]
根據指定元素排序
# 根據字典key排序
>>>dic = {2:"a",1:"b",3:"c"}
>>>dic.items()
dict_items([(2, 'a'), (1, 'b'), (3, 'c')])
>>>sorted(dic.items(),key=lambda x:x[0])
# return
[(1, 'b'), (2, 'a'), (3, 'c')]
倒敘排序
sorted([2,4,1,3],reverse=True)
# return
[4,3,2,1]
5.zip函數
將2個元祖組合成列表
zip(("name","age"),("jack","20"))
# return:返回前后相互對應的列表
[('name', 'jack'), ('age', '12')]
擴展: 結合dict函數轉換為字典
dict(zip(("name","age"),("jack","20")))
# return
{"name":"jack","age":"20"}
總結
以上是生活随笔為你收集整理的python的高级函数_Python的高级函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java xstream jar_Jav
- 下一篇: redis存储java对象存储_Spri