실버를 위한 코딩/파이썬 연습

list에서 range와의 미묘한 관계

forSilver 2025. 5. 4. 04:17
반응형

list에서 range와의 미묘한 관계

a = range(4)
  • a는 range(0, 4)로, 이 자체는 0, 1, 2, 3이라는 값을 생성하지만 아직 리스트는 아님입니다.
  • 즉, a는 range 객체입니다.
a[::2]
  • 이는 슬라이싱 연산으로, range(0, 4) 중에서 인덱스를 2씩 건너뛴 요소들을 의미합니다.
  • 결과는 range(0, 4, 2)로 출력됩니다.

핵심 설명

  • range 객체는 슬라이싱 시에도 새로운 range 객체를 반환합니다.
  • 따라서 a[::2]는 실제로는 0, 2 값을 생성하지만, 출력 형태는 range(0, 4, 2)로 보입니다.

실제 값이 궁금하다면?

list(a[::2])

이렇게 하면 실제 리스트 [0, 2]가 출력됩니다.

 

결과값이 같지만 객체가 어디에 소속되어 있느냐에 따라 표현되는 형식은 다릅니다.