🔥 리스트와 리스트 컴프리헨션
464자
6분
강의 목차
파이썬(Python)은 다양한 데이터 구조를 제공하는데, 그중에서도 리스트(List)는 가장 많이 사용되는 유형 중 하나입니다. 이 장에서는 리스트와 그 활용법, 특히 리스트 컴프리헨션(List Comprehension)에 대해 자세히 알아보겠습니다.
리스트(List)
리스트는 여러 값을 순서대로 저장하는 데이터 구조입니다. 각 값은 인덱스(Index)에 의해 접근할 수 있으며, 다양한 타입의 데이터를 하나의 리스트에 저장할 수 있습니다.
# 리스트 예제 my_list = [1, "Hello", 3.14] print(my_list[0]) # 1 출력 print(my_list[1]) # Hello 출력
python
리스트는 수정 가능(Mutable)한 특성을 가지고 있어, 프로그램 실행 중에 내용을 변경할 수 있습니다.
리스트의 기본 연산
리스트에는 다양한 연산을 적용할 수 있습니다. 대표적으로 추가, 삭제, 수정 등이 있습니다.
# 리스트 추가 my_list.append(5) # 5 추가 print(my_list) # [1, "Hello", 3.14, 5] # 리스트 특정 위치에 추가 my_list.insert(1, "Python") # 인덱스 1에 "Python" 추가 print(my_list) # [1, "Python", "Hello", 3.14, 5] # 리스트 삭제 del my_list[1] # 인덱스 1의 요소 삭제 print(my_list) # [1, "Hello", 3.14, 5]
python
리스트 슬라이싱(Slicing)
리스트의 일부분을 잘라내어 새로운 리스트를 생성하는 것을 슬라이싱이라고 합니다. 이는 데이터의 특정 부분을 선택하거나 복사할 때 유용합니다.
# 슬라이싱 예제 numbers = [0, 1, 2, 3, 4, 5] print(numbers[2:5]) # 인덱스 2부터 4까지 [2, 3, 4] # 음수 인덱스 슬라이싱 print(numbers[-3:]) # 뒤에서 세 번째부터 끝까지 [3, 4, 5]
python
리스트 컴프리헨션(List Comprehension)
리스트 컴프리헨션은 기존 리스트를 기반으로 새로운 리스트를 만드는 간결하고 효율적인 방법입니다. 이는 반복문과 조건문을 함께 사용할 수 있어 매우 강력합니다.
# 리스트 컴프리헨션 예제 squares = [x**2 for x in range(10)] print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # 조건을 포함한 리스트 컴프리헨션 even_squares = [x**2 for x in range(10) if x % 2 == 0] print(even_squares) # [0, 4, 16, 36, 64]
python
리스트와 반복문
리스트는 for문과 while문을 사용하여 각 요소를 순회할 수 있습니다. 이를 통해 리스트의 각 요소에 접근하고, 작업을 수행할 수 있습니다.
# for문을 사용한 리스트 순회 for item in my_list: print(item) # while문을 사용한 리스트 순회 i = 0 while i < len(my_list): print(my_list[i]) i += 1
python
리스트의 다양한 메소드(Method)
파이썬의 리스트는 다양한 메소드를 제공합니다. 이를 통해 리스트를 쉽게 조작할 수 있습니다.
# 리스트 정렬 numbers.sort() print(numbers) # 정렬된 리스트 출력 # 리스트 뒤집기 numbers.reverse() print(numbers) # 뒤집힌 리스트 출력 # 요소의 인덱스 찾기 index = numbers.index(3) print(index) # 3의 인덱스 출력
python
중첩된 리스트(Nested Lists)
리스트 안에 다른 리스트를 포함할 수 있으며, 이를 중첩 리스트라고 합니다. 중첩 리스트는 행렬(Matrix)이나 데이터 테이블을 표현할 때 유용합니다.
# 중첩 리스트 예제 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(matrix[1][2]) # 6 출력 (2행 3열 요소)
python
연습문제
- 0부터 20까지의 숫자 중 짝수만을 포함하는 리스트를 만드세요.
- 다음 리스트에서 3의 배수만을 선택하여 새로운 리스트를 만드세요:
[1, 3, 4, 6, 7, 9, 11, 12, 15]
- 5x5 크기의 이차원 리스트(중첩 리스트)를 생성하고, 각 요소에 그 행과 열의 합을 저장하세요.