본문 바로가기
IT/Python Basic

[Python] 특집 - range() 함수로 리스트 다루기

by Echinacea 2025. 3. 18.
반응형

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 단위 행렬을 생성합니다.


 

반응형

댓글