Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 문자열에서 홀수 인덱스의 문자 제거하기

문자열에서 홀수 인덱스에 위치한 문자들을 제거해야 하는 경우가 있습니다. 이럴 때 문자열을 매개변수로 받아 처리하는 함수를 정의하면 간단하게 해결할 수 있습니다.

아래는 그 구현 예시입니다.

예제 코드

def remove_odd_index_characters(my_str):
    new_string = ""
    i = 0
    while i < len(my_str):
        if (i % 2 == 1):
            i += 1
            continue

        new_string += my_str[i]
        i += 1
    return new_string

if __name__ == '__main__':
    my_string = "Hi there Will"

    my_string = remove_odd_index_characters(my_string)
    print("홀수 인덱스의 문자들이 제거되었습니다")
    print("남은 문자들은 다음과 같습니다 : ")
    print(my_string)

실행 결과

홀수 인덱스의 문자들이 제거되었습니다
남은 문자들은 다음과 같습니다 :
H hr il

코드 설명

  • 'remove_odd_index_characters'라는 이름의 함수를 정의하고, 문자열을 매개변수로 전달받습니다.

  • 결과를 저장할 빈 문자열(new_string)을 하나 생성합니다.

  • while 반복문을 사용해 문자열을 처음부터 끝까지 순회하면서, 각 문자의 인덱스를 2로 나눕니다.

  • 나머지가 0이 아니라면 해당 인덱스는 홀수이므로, continue 문을 통해 현재 문자를 건너뛰고 결과 문자열에 추가하지 않습니다.

  • 짝수 인덱스의 문자만 new_string에 차례대로 더해집니다.

  • 메인 부분에서 테스트용 문자열을 정의한 뒤, 함수를 호출하여 처리된 문자열을 받아옵니다.

  • 최종적으로 남은 문자열을 콘솔에 출력합니다.

참고: 슬라이싱을 활용한 더 간결한 방법

사실 파이썬에서는 슬라이싱(slicing) 기법을 활용하면 위 코드를 한 줄로도 처리할 수 있습니다.

my_string = "Hi there Will"
result = my_string[::2]
print(result)  # 출력: H hr il

[::2]는 인덱스 0부터 시작해 두 칸씩 건너뛰며 문자를 가져오므로, 짝수 인덱스의 문자들만 선택됩니다. 성능 면에서도 반복문보다 슬라이싱이 더 효율적이므로, 실무에서는 슬라이싱 방식을 권장합니다.