簡體   English   中英

Python functools.reduce,如何減少列表返回一個新列表

[英]Python functools.reduce, how to reduce a list a return a new one

回答一個問題我注意到我不知道如何在減少內容后附加一個列表,例如

import functools

futures = [1,2,3]
records = functools.reduce((lambda res, future: res if (res.append(str(future))  == None) else res), futures, [])

我想要列表['1', '2', '3'] ,這只是一個最小的例子,因為我想做的不僅僅是映射值。

如果我把它放在lambda中,還有另一種方式嗎?

您不必在lambda中改變結果列表; reduce將函數的返回值作為結果。 所以你的lambda可以很簡單

lambda res, future: res+[str(future)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM