這感覺就像一個很容易解決,但我不能得到這個工作:Python的.replace()內的雙for循環問題
def cleaning(recipe):
#make every element lowercase
recipe = [str.lower(i) for i in recipe]
#remove punctuations
chars = "\\`\'\"*_{}[]%&()>#+-.!$"
for c in chars:
for item in recipe:
if c in item:
item = item.replace(c,'')
return recipe
如果我用這個^功能,並運行此,
blah = ['Salt', 'Hot&Sour Sauce']
blah = cleaning(blah)
我得到:
['salt', 'hot&sour sauce']
隨着字符替換未生效。 感覺像一個非常基本的問題,有人可以指出快速修復?
謝謝!
你創建與'item.replace()'調用 – wim
副本...然後不與副本覆蓋列表元素的當前值。 – TigerhawkT3
你期望的結果是'['salt','hotsour sauce']'?順便說一下, –