特定のより良い文字列に置き換えたい無効な文字列のセットがあります。functools と itertools で遊んでいて、これらを問題に適用したいと思っていますが、少し行き詰まっています。ここに私が持っているものがあります:
s1 = 'how to sing songs'
s2 = 'This is junk'
s3 = "This is gold"
s4 = 'HTML'
s5 = 'html'
s6 = 'i'
mylist = [s1,s2,s3,s4,s5,s6]
replacements = [('html','HTML'),('how to sing songs','singing'),('This is junk', ''),('i','')]
mylist 内の各文字列、replacements 内の各置換、string.replace(replacement[0],replacement[1]) のような関数アルゴリズムが必要です。
頭に浮かんだのは、次のようなものでした...
map(lambda x,y: x.replace(y[0],y[1]),mylist,replacements)
map(partial(lambda x,y: x.replace(y[0],y[1]),mylist),replacements)
しかし、最初は追加の引数が必要で、2 番目のリスト オブジェクトには属性 replace がありません。これを解決するための洗練された機能的な方法はありますか?