map(func, iterables)
map是內建函式,不需要匯入模組
func表示函式名,該函式必須是得傳入乙個引數,還必須有返回值
iterables表示可迭代物件(即含多個元素,如:列表,元組,字典,集合,字串等)
作用: 對迭代物件中每乙個元素進行func函式,並返回新結果封裝成物件,map返回值的map型別物件,可通過next或for迴圈來獲取元素,也可以強轉成list的模組,進行檢視.
例:def str_to_int(str):
return int(str)
res = map(str_to_int,["1","5","6","3","2"])
print(list(res))
------->[1,5,6,3,2]
for i in res:
print(i,end="")
-------->12345
print(next(res))
--------->1
print(next(res))
--------->1
reduce(func, iterables)
reduce不是內建函式需要匯入模組
func
表示函式名,該函式必須是得傳入2個引數,返回運算後的值
iterables
表示可迭代物件(即含多個元素,如:列表,元組,字典,集合,字串等)
作用:該函式必須接受2個引數,得出結果再與序列下乙個元素進行累計運算
from functools import reduce
def add(a,b):
return a+b
res = reduce(add,list(range(1,101)))
print(res)
---->5050
過濾器filter
filter(func, iterables)
func 表示函式名iterables 表示可迭代物件
func的函式作用在可迭代物件的每乙個元素,進行判斷是否符合要求,true保留,false移除.
def is_odd(number):
if number%2 == 0:
return false
return true
res = filter(is_odd,list(range(1,101)))
print(list(res))
------------->[1,3,5,7,...,99]
排序:sorted
list1 = [23,78,11,-17,88]
小-->大:
sorted(list1)
大-->小:sorted(list1,reverse = true)
絕對值 小--->大:sorted(list1,key = abs)
去重再按原順序排序:
list2 = [689,123,234,34,567,34,123]
print( sorted(list(set(list2)) , key = list2.index))
按照名字長度排序:list3 = ["xixi","xixin","xi","xing","xingxing"]
print(sorted(listname,key=len))
高階函式 map reduce
利用map和reduce編寫乙個str2float函式,把字串 123.456 轉換成浮點數123.456 第一次接觸map和reduce,不太了解此 的實現,參考了網上大神的講解 1.新函式的用法index 表示獲取制定字元在字串中的位置 2.表示次方 from functools import ...
高階函式,map reduce
1.變數可以指向函式 abs 10 是函式呼叫,而abs是函式本身 要獲得函式呼叫結果,我們可以把結果賦值給變數 x abs 10 print x 10如果乙個變數指向了乙個函式,f abs print f 10 10說明變數f現在已經指向了abs函式本身。直接呼叫abs 函式和呼叫變數f 完全相同...
高階函式 map reduce
map 變數獨立執行 舉例說明,比如我們有乙個函式f x x2,要把這個函式作用在乙個陣列 1,2,3,4,5,6,7,8,9 上,就可以用map實現如下 arr.map f x 意思為將arr執行f x 返回結果,但不改變原陣列值 reduce 變數套用執行 這個函式必須接收兩個引數,reduce...