日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python 匹配字符串map lambda函数_Python map amp; reduce 以及lambda匿名函数 - jvisualvm - ITeye博客...

發布時間:2025/3/12 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 匹配字符串map lambda函数_Python map amp; reduce 以及lambda匿名函数 - jvisualvm - ITeye博客... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

map()

map()函數接收兩個參數,一個是函數,一個是Iterable,map將傳入的函數依次作用到序列的每個元素,并把結果作為新的Iterator返回。

使用map實現一個f(x) = x * x的功能

def f(x):

return x * x

m = map(f, list(range(1, 10)))

# [1, 4, 9, 16, 25, 36, 49, 64, 81]

print(list(m))

另外可以使用lambda函數簡化

# [1, 4, 9, 16, 25, 36, 49, 64, 81]

print(list(map(lambda x: x * x, list(range(1, 10)))))

Console Output

Note:

可以看出

lambda x: x * x

實際上就是:

def f(x):

return x * x

把list中的所有數字轉為字符串

# ['1', '2', '3', '4', '5', '6', '7', '8', '9']

print(list(map(str, list(range(1, 10)))))

Console Output

reduce()

reduce把一個函數作用在一個序列[x1, x2, x3, ...]上,這個函數必須接收兩個參數,reduce把結果繼續和序列的下一個元素做累積計算,其效果就是:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

使用reduce對一個序列求和

from functools import reduce

def add(x, y):

return x + y

# 55

print(reduce(add, list(range(1, 11))))

# 55

print(reduce(lambda x, y: x + y, list(range(1, 11))))

Console Output

把序列[1, 2, 3, 4, 5, 6, 7, 8, 9]變換成整數123456789

from functools import reduce

def fn(x, y):

return x * 10 + y

# 123456789

print(reduce(fn, list(range(1, 10))))

# 123456789

print(reduce(lambda x, y: x * 10 + y, list(range(1, 10))))

Console Output

map()和reduce()整合,把str轉換位int

from functools import reduce

def char2num(s):

return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

# '13579' => 13579

print(reduce(fn, map(char2num, '13579')))

# '13579' => 13579

print(reduce(lambda x, y: x * 10 + y, map(char2num, '13579')))

def str2int(s):

def fn(x, y):

return x * 10 + y

def char2num(s):

return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]

return reduce(fn, map(char2num, s))

print(str2int('13579'))

Console Output

參考資料:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python 匹配字符串map lambda函数_Python map amp; reduce 以及lambda匿名函数 - jvisualvm - ITeye博客...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。