私はこのような文字列がある場合:ABCDE
奇数番号の文字列から文字を削除するにはどうすればよいですか?
を私は時間(ABは、その後、CD)で2つの文字を読み、タプルまたは2の中に読み取ることができない残りの文字(E)を削除したいです。どのようにそれらの文字を削除するのですか?
私がこれまでに以下のコードを持っている:
s = 'ABCDE'
for (first, second) in zip(s[0::2], s[1::2]):
if not first or not second:
if first:
s.replace(first, '')
continue
else:
s.replace(second, '')
continue
print first, second
print s
良いのですが、私は場合をどうしようとしていますためのループでは、余分なE
を削除するこのコードを印刷(A B
C D
を)ステートメント。タプルの変数first
またはsecond
のいずれかが空の文字列であるかどうかをチェックし、元のs
変数から空の文字列でないものを削除します。
上記のコードは機能していないようです。誰かが別の提案を持っているのですか、それを改善する方法はありますか?
私は、最初または2番目が空の文字列である場合に、プログラムが 'E 'になるときにループに入ることもないことに気付きました。これを行う別の方法はありますか? – CapturedTree
どうして違うやり方をしたいのですか?私は 'E 'を落としたいと思っていましたし、' zip'はあなたのために自動的に行います。 –
元の文字列 's'から削除します。最後に文字列 's'を出力すると' ABCDE'に 'E'が入ります。 – CapturedTree