用lambda函式實現列表中相鄰數之間的迭代

2021-10-09 14:34:50 字數 555 閱讀 7839

把數字字串轉換為數字的問題。

1、把乙個n位數按小數點前後分開成兩個列表l1,l2(要用乙個演算法迭代可以將小數點後的數先縮小10**n倍)。

2、前後分別用秦九韶演算法還原數值。

3、lambda函式對兩個列表中的數實現同種演算法的迭代。

from functools import reduce

def str2float(s):

digits =

s1,s2 = s[:s.index('.')], s[s.index('.')+1:]

l1,l2 = list(map(lambda x:digits[x],s1)),list(map(lambda x:digits[x]/10**len(s2),s2))#list可省略

return sum(map(lambda z:reduce(lambda x,y:10*x+y,z),[l1,l2]))

#sum可加list就能發現l1,l2分別實現迭代,sum只是對結果進行了加和

print(str2float('123.456789'))

python 隱藏函式lambda的各種用法

lambda x x 21print lambda x x 2 1 5 sorted 排序的意思 排序物件,key 使用該函式的返回值進行排序,匿名函式lambda 引數名 排序物件 age reverse true從大到小排預設由小到大 temp filter none,1,3.14 none,0...

python中的lambda函式

lambda函式也叫匿名函式,即,函式沒有具體的名稱。先來看乙個最簡單例子 deff x returnx 2printf 4 python中使用lambda的話,寫成這樣 g lambdax x 2printg 4 lambda表示式在很多程式語言都有對應的實現。比如c varg x x 2cons...

Django中的lambda函式

django裡有乙個特別適合lambda函式的場合 即 認證裝飾器 它的作用是確認使用者有足夠的許可權訪問某些頁面。一種辦法是講乙個代表已登入使用者的user物件傳遞給乙個函式,如果允許使用者訪問則返回true,否則返回false。這樣的函式可以用一般的def foo 來定義,但是lambda更加簡...