파이썬 문자열에서 몇 단어를 뒤집는 방법을 알아내는 방법에 문제가 있습니다.파이썬 문자열의 문자 반전
예 : 나는 매일 단어를 반전 할 필요가
: 나는 전체 문자열을 반대로하지만 같은 단지 몇 단어를 반전하는 방법을 알아낼 수있는 방법을 알고
aString = "This is my string."
짝수 인덱스, 2, 4, 6, 8, 10, 12
aString = "This si my gnirts"
파이썬 문자열에서 몇 단어를 뒤집는 방법을 알아내는 방법에 문제가 있습니다.파이썬 문자열의 문자 반전
예 : 나는 매일 단어를 반전 할 필요가
: 나는 전체 문자열을 반대로하지만 같은 단지 몇 단어를 반전하는 방법을 알아낼 수있는 방법을 알고
aString = "This is my string."
짝수 인덱스, 2, 4, 6, 8, 10, 12
aString = "This si my gnirts"
넌 str.split
로 분할 후의 상품과 함께 지표를 생성 enumerate
를 사용하여 그 반대로 할 홀수 (계수가 0부터 시작하기 때문에) 인덱스.
>>> 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)
한 줄에 그것을하려면 ...
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 도움이된다면 답변을 수락 할 수 있습니다. –