長さが数千文字の文字列があり、印刷時にそれを分離して約100 \n
が含まれています。私は、特定の部分文字列と特定の個々の文字を含む行を削除しています。一時的なリストで文字列を修正するPythonicの方法
この部分は既に完成していますが、私は最も多くのものについて興味がありますpythonicこれを行う方法は、私が選択した方法が健全であると仮定すると、適切な命名規則が一時的なリスト。
active_config = active_config.split('\n')
for i, elem in enumerate(active_config):
# Delete entire line based off match
if "cmdStatus=" in elem or "<?xml" in elem:
active_config.remove(elem)
#Delete individual char based off match
elem = elem.replace("\r","")
# Delete last line if it is '*'
if active_config[-1] == "*":
del active_config[-1]
active_config = '\n'.join(active_config)
Iはリストとして文字列active_config
を上書きし、次に文字列として再び特定の要素を削除した後に完了したことを上書きすることを選択しました。
リストは、いくつかの行と個々の文字を削除するために使用されたものであり、他の場所では使用されていないので、私はそれを呼び出す必要がありますか?おそらくそれをactive_config_list
またはtemp_active_config
、またはちょうどtemp
と呼んでください。ここで
は、リストの変更されましたそれはリストの中であなたの立場を捨ててしまう傾向があるので、悪い考えです。また、 'remove'は要素を再度見つけなければならないので、リストから要素を削除するのは本当に遅い方法です。既存のリストから削除するのではなく、新しいリストを作成する。 – user2357112
また、リストの_every_行をテストして、最後の行であるかどうかを調べる必要はありません。そしてあなたはあなたの '.join'コールを後方に持っています。これは 'separator_string.join(list_of_strings)' –
@ PM2Ringでなければなりません。それを指摘してくれてありがとう。 –