明らかな何かが欠けているに違いありませんが、なぜこの単純なループがリスト項目の変更に失敗するのでしょうか?
for artist in artists:
artist = artist.replace(': ', '')
artists = [': Terence Trent D Arby', ": Guns N' Roses", ': Sinead O Connor' ...]
Rohitが言ったように、アーティストはリスト項目への参照ではないので、提案されているようにリスト内包表記を使用するか、IMOの最もクリーンな方法であるか、このように「古い学校」でそれを理解させるかRohit が提供したリスト内包表記の背後で動作します。
for index,artist in enumerate(artists):
artists[index] = artist.replace(': ', '')
しかし、私はこのようにします:
artists = [artist[2:] for artist in artists]
もちろん、リストするすべての項目が常に「:」で始まる場合のみ。スライスは、置き換えるよりも高速である可能性があります。