[英]itertools.accumulate but trying to replace lambda with str.join
我試圖不在這里使用lambda,因為它在循環中的性能問題,我知道有用於lambda但我發現這個應該有更好的選擇。
原始代碼: 這有效,但我不喜歡那里的lambda。
from itertools import accumulate
s = "lorem ipsum dolor"
print(list(accumulate(s.split(), lambda x, y: f'{x} {y}')))
#["lorem", "lorem ipsum", "lorem ipsum dolor"]
我嘗試過以下方法:
print(list(accumulate(s.split(), ' '.join)))
我必須在這里遺漏一些小東西,這會讓我覺得自己像個白痴。 它必須只是包裝我假設的元組的簡單問題。
str.join
方法期望一個iterable作為參數,然后accumulate
為每次迭代傳遞兩個參數,因此錯誤。 您可以使用str.format
方法:
print(list(accumulate(s.split(), '{} {}'.format)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.