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

파이썬에서 리스트 슬라이싱으로 특정 범위의 요소를 원하는 숫자로 한 번에 교체하는 방법

파이썬에서 리스트의 특정 범위(인덱스 구간)에 있는 요소들을 주어진 숫자로 교체해야 하는 경우, 리스트 슬라이싱(list slicing)을 활용하면 반복문 없이도 아주 간단하게 처리할 수 있습니다.

예제 코드

아래 예제를 통해 실제 동작 과정을 살펴보겠습니다.

my_list = [42, 42, 18, 73, 11, 28, 29, 0, 10, 16, 22, 53, 41]

print("The list is :")
print(my_list)

i, j = 4, 8
my_key = 9

my_list[i:j] = [my_key] * (j - i)

print("The result is:")
print(my_list)

실행 결과

The list is :
[42, 42, 18, 73, 11, 28, 29, 0, 10, 16, 22, 53, 41]
The result is:
[42, 42, 18, 73, 9, 9, 9, 9, 10, 16, 22, 53, 41]

코드 설명

  • 먼저 정수형 요소들로 구성된 리스트를 정의하고, 초기 상태를 콘솔에 출력합니다.
  • 교체할 범위의 시작 인덱스(i)와 끝 인덱스(j), 그리고 새롭게 대입할 값(my_key)을 각각 정의합니다.
  • [my_key] * (j - i) 표현식은 my_key를 (j - i)번 반복해 새로운 리스트를 생성합니다. 위 예제에서는 9를 4개 담은 [9, 9, 9, 9]가 만들어집니다.
  • 생성된 리스트를 my_list[i:j] 슬라이싱 구간에 할당하면, 해당 범위의 기존 요소들이 모두 my_key 값으로 교체됩니다.
  • 최종 결과가 콘솔에 출력됩니다.

핵심 포인트

파이썬에서는 슬라이싱 구간에 다른 리스트를 직접 할당할 수 있으며, 이때 길이가 달라도 자동으로 조정됩니다. 또한 [값] * 반복횟수 형태의 리스트 곱셈 연산을 활용하면 for문 같은 반복문을 사용하지 않고도 동일한 값 여러 개를 한 번에 생성할 수 있어, 코드가 훨씬 간결하고 가독성 좋아집니다.