我試圖在包含整數字符串的列表上使用pythons reduce函數。嘗試使用包含字符串的列表的reduce()和lambda
print int("4")
\\Gives me 4 Good
print reduce(lambda x, y: x*y, [2, 3, 4])
\\Gives me 24 Good
print reduce(lambda x, y: x*int(y), ['2', '3', '4'])
\\Gives me 222222222222 What??
我假設reduce給lambda函數的東西不是列表中的實際字符串?我不知道爲什麼我至少得到222222222222,會不會有一個簡單的方法來使列表成爲int?我想我可以只是我們另一個循環,但我仍然想知道傳遞字符串有什麼問題。
在這短暫的時間裏,我並不期待這麼多答案。感謝大家的幫助。 對於任何新的,我最終使用 '減少(lambda x,y:x * int(y),['2','3','4'],1)'from @ÓscarLópez – 2012-03-15 01:08:15