본문 바로가기

Programming/Tip&Informaion

[python] 반복문 index 수정하기

C++의 for문은

for(int i = 0; i<10; i++){}

이런 식으로 쓰고

특정 조건일 때, i의 값을 변경하면 조건문의 횟수를 조절할 수 있다.


python의 for문은

for i in range(x):

이런 식으로 사용하는데,

for문 안에서 i의 값을 변경하면 그 반복문 내에서는 반영되지만, 다음 반복시에는 원래의 i값(다음값) 으로 변경된다.


예를 들어, 길이가 10인 문자열을 처음부터 순서대로 접근하나, 해당값이 a일 경우 다음 인덱스를 생략하고 출력한다고 할 때,

s가 radio일 경우

c++ 에서는

for(int i = 0; i<strlen(s); i++){

cout << s[i];

if(s[i] == 'a'){

i++;

}

//cout << i    -> 0 2 3 4

}


output: rdio


이렇게 하는 것을 그대로 python으로 옮기면


for i in range(len(s)):

print(s[i])

if s[i] == 'a':

i+=1

#print(i)         -> 0 2 2 3 4


output: radio


이런 식으로 출력이 된다.


개인적으로 해결한 방법은


i=0

while i < len(s):

print(s[i])

if s[i] == 'a':

i+=1

i+=1


이다.