1. range와 slicing?
range와 slicing은 '어디서부터 어디까지'라는 특정 범위를 지정할 때 사용되요.
하지만 사용 방법과 출력 방식이 다르기 때문에 어떤 부분이 다른가 살펴보면 좋을 것 같습니다.
2. range와 slicing의 차이
1) 사용하는 괄호 그리고 구분 방법
- range(a,b,c) - 소괄호()를 사용하고, 값 사이를 ,(콤마)로 구분합니다.
- slicing[a:b:c] - 대괄호[]를 사용하고, 값 사이를 :(클론)로 구분합니다.
2) 출력 방식의 차이
- range()는 직접 출력시 range(0,5)처럼 숫자 목록을 볼 수 없습니다.
- slicing은 리스트에서 특정 범위를 잘라서 바로 숫자 목록을 볼 수 있습니다.
3. range는 왜 list로 변환해야 할까요?
range()의 출력이 바로 숫자 리스트처럼 보이지 않는 이유는 이터레이터(iterator)형태를 갖고 있기 때문입니다.
*이터레이터는 무엇일까?
메모리를 절약하면서 필요할 때만 값을 생성하기 위해 만들어진 객체 입니다.
print(range(0,5)) #range(0,5)
print(list(range(0,5))) #[0,1,2,3,4]
*range는 순서를 갖는 list로 변환할 때 가장 자연스럽지만, tuple, set, dict등 다른 자료형으로도 변환이 불가한 것은 아닙니다.
4. range는 반복문에서 특정 횟수만큼 반복할 때 자주 사용된다고 해요.
range는 반복문에서 코드를 간결화 시켜 주고, 메모리 효율 측면에도 좋기 때문에 사용되고 있어요.
같은 메시지를 정해진 숫자만큼 반복하거나, 리스트 등의 데이터를 가공할 때에도 사용됩니다.
코딩을 하면서 range를 만난다면 왜 사용 되었을까 고민해보고 우리가 코딩할 때에도 사용해 보려고 해보면 좋을 것 같아요:)
읽어주셔서 감사합니다.
반응형
'파이썬 기초' 카테고리의 다른 글
[판다스] 판다스 처음 써봤다면? CSV 불러오고 편집하는 방법 정리 (0) | 2025.03.26 |
---|---|
[파이썬 기초] 파이썬 bool 타입과 그 활용 (0) | 2025.02.28 |
[파이썬 기초] 특정 요소의 일부를 가져오는 slicing (1) | 2025.02.14 |
[파이썬 기초] 데이터를 찾는 방법1 indexing (0) | 2025.02.11 |
[파이썬 기본] 데이터를 담는 방법 (0) | 2025.02.10 |