반응형

range() 함수는 반복문뿐만 아니라 리스트를 생성하거나 다룰 때도 유용하게 사용할 수 있습니다. 이 문서에서는 range()를 활용하여 리스트를 효과적으로 다루는 다양한 방법을 살펴보겠습니다.
🔹 1. range()를 활용한 리스트 생성
✅ 예제 1: range()를 활용한 리스트 만들기
numbers = list(range(10))
print(numbers) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
📌 설명: list(range(10))을 사용하면 0부터 9까지의 숫자가 포함된 리스트가 생성됩니다.
✅ 예제 2: 특정 범위의 리스트 생성
numbers = list(range(1, 11))
print(numbers) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
📌 설명: list(range(1, 11))을 사용하면 1부터 10까지 포함된 리스트가 생성됩니다.
🔹 2. range()와 step을 활용한 리스트 생성
✅ 예제 3: 홀수 리스트 만들기
odd_numbers = list(range(1, 20, 2))
print(odd_numbers) # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
📌 설명: range(1, 20, 2)는 1부터 19까지 2씩 증가하는 숫자를 포함한 리스트를 생성합니다.
✅ 예제 4: 역순 리스트 생성
reverse_numbers = list(range(10, 0, -1))
print(reverse_numbers) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
📌 설명: range(10, 0, -1)을 사용하면 10부터 1까지 감소하는 리스트가 생성됩니다.
🔹 3. range()를 활용한 리스트 인덱스 관리
✅ 예제 5: 리스트의 인덱스를 활용한 반복
fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):
print(f'Index {i}: {fruits[i]}')
📌 설명: range(len(fruits))를 사용하면 리스트의 인덱스를 활용할 수 있습니다.
✅ 예제 6: enumerate()를 활용한 반복 (더 깔끔한 방식)
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(f'Index {index}: {fruit}')
📌 설명: enumerate()를 활용하면 range(len(fruits)) 없이도 인덱스를 사용할 수 있습니다.
🔹 4. range()를 활용한 리스트 필터링 및 가공
✅ 예제 7: 리스트에서 짝수만 추출
numbers = list(range(1, 21))
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers) # [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
📌 설명: 리스트 컴프리헨션과 range()를 조합하면 간결한 코드로 리스트를 가공할 수 있습니다.
✅ 예제 8: 특정 조건에 맞는 값 변경
numbers = list(range(1, 11))
modified_numbers = [num * 2 if num % 2 == 0 else num for num in numbers]
print(modified_numbers) # [1, 4, 3, 8, 5, 12, 7, 16, 9, 20]
📌 설명: 짝수인 경우 값을 2배로 변경하는 리스트를 생성합니다.
🔹 5. range()를 활용한 2차원 리스트 생성
✅ 예제 9: range()로 2차원 리스트 만들기
matrix = [[i * j for j in range(1, 6)] for i in range(1, 6)]
for row in matrix:
print(row)
📌 설명: range()를 활용하면 2차원 리스트도 손쉽게 생성할 수 있습니다.
✅ 예제 10: range()로 대각선 값이 1인 행렬 생성
size = 5
identity_matrix = [[1 if i == j else 0 for j in range(size)] for i in range(size)]
for row in identity_matrix:
print(row)
📌 설명: range()와 리스트 컴프리헨션을 활용하여 5x5 단위 행렬을 생성합니다.
반응형
'IT > Python Basic' 카테고리의 다른 글
[Python] 초급 개념11+ - 문자열 출력과 조작 특집 (0) | 2025.03.31 |
---|---|
[Python] 특집 - 십진수와 이진수 변환 (0) | 2025.03.21 |
[Python] 특집 - lambda 함수 활용법 (0) | 2025.03.19 |
[python] 파이썬 isdigit() 함수 완벽 가이드 (0) | 2025.03.19 |
[Python] 초급 개념21 - 파이썬 반복문의 종류 (0) | 2025.03.18 |
[Python] 초급 개념21 - sort()와 sorted() (0) | 2025.03.14 |
[Python] 튜플, 딕셔너리, 집합 개념 정리 특집 (0) | 2025.02.28 |
[python] 문자와 ASCII/Unicode 변환 - ord()와 chr() 함수 정리 (0) | 2025.02.27 |
댓글