Python文字列の中のいくつかの単語を逆にする方法を理解するのに問題があります。Python文字列の文字を反転する
例:私がすべての単語を逆にする必要がある
:私は、文字列全体を逆にするが、私のような唯一のいくつかの単語を逆にする方法を見つけ出すことはできません方法を知っている
aString = "This is my string."
偶数インデックス、2、4、6、8、10、12
Python文字列の中のいくつかの単語を逆にする方法を理解するのに問題があります。Python文字列の文字を反転する
例:私がすべての単語を逆にする必要がある
:私は、文字列全体を逆にするが、私のような唯一のいくつかの単語を逆にする方法を見つけ出すことはできません方法を知っている
aString = "This is my string."
偶数インデックス、2、4、6、8、10、12
aString = "This si my gnirts"
あなたがstr.split
と分割後の商品と一緒にインデックスを生成するenumerate
を使用し、それらを逆にすることができで奇数(ゼロからのカウントが開始されているにもかかわらず)インデックス。
>>> s = "This is my string"
>>> ' '.join(x if i%2==0 else x[::-1] for i, x in enumerate(s.split()))
'This si my gnirts'
あなたがこれを行うことができます:文字列を再構築するstr.join
を使用し
newString = []
for index, i in enumerate(aString.split()):
if i % 2 == 0:
newString.append(i[::-1])
else:
newString.append(i)
newString = ''.join(newString)
あなたは1行でそれをしたい場合は...
out = ' '.join([x[::-1] if input.index(x)%2 == 1 else x for x in input.split(' ')])
例:
>>> input = 'here is an example test string'
>>> out = ' '.join([x[::-1] if input.index(x)%2 == 1 else x for x in input.split(' ')])
>>> out
'here si an elpmaxe tset string'
注:私はあなたがあなたは元の質問のインデックスさえも逆にすることを目指していましたが、実際にあなたの例に基づいて奇妙なものを探していたように見えました。私がそれについて間違っている場合は、modを%2 == 0に切り替えてください。
これは完全に機能しました、ありがとうございます! –
@ZackWaltonあなたが助けてくれたら答えを受け入れるかもしれません –