反转python字符串中的字符

时间:2017-04-24 20:52:25

标签: python reverse

我无法弄清楚如何在python字符串中反转几个单词。

例如:

aString = "This is my string."

我知道如何扭转整个字符串,但我无法弄清楚如何只反转几个字,例如:

我需要在偶数索引,2,4,6,8,10,12

处反转每个单词
aString = "This si my gnirts"

3 个答案:

答案 0 :(得分:4)

您可以使用enumerate在使用str.split分割后在项目旁边生成索引,并在奇数(甚至自从计数从零开始)索引时将其反转。使用str.join重建字符串:

>>> 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'

答案 1 :(得分:1)

你可以这样做:

newString = []
for index, i in enumerate(aString.split()):
   if i % 2 == 0:
      newString.append(i[::-1])
   else:
      newString.append(i)
newString = ''.join(newString)

答案 2 :(得分:0)

如果你想在一行中完成......

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。