파이썬 리스트(list)에서 데이터를 가져오거나 원하는 부분을 추출하려면 슬라이싱(Slicing)✂️ 기능을 활용할 수 있습니다. 또한, 인덱싱🗂️을 통해 특정 요소에 직접 접근하거나 슬라이싱으로 다양한 구간을 추출할 수 있습니다.
🔍 슬라이싱(Slicing) 기법
슬라이싱은 리스트의 특정 구간을 간단히 잘라내어 새로운 리스트로 반환하는 방식입니다. 슬라이싱을 사용하면 원하는 구간을 선택적으로 추출할 수 있습니다.
🔹 슬라이싱의 기본 문법
list[start:end:step]
- start: 슬라이싱을 시작할 인덱스(포함).
- end: 슬라이싱을 끝낼 인덱스(포함하지 않음).
- step: 요소를 건너뛰는 간격 (생략 시 기본값은 1).
🔹 슬라이싱 예제
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 1. 특정 구간 추출
print(numbers[2:5]) # [2, 3, 4]
# 2. 처음부터 특정 위치까지 추출
print(numbers[:4]) # [0, 1, 2, 3]
# 3. 특정 위치부터 끝까지 추출
print(numbers[5:]) # [5, 6, 7, 8, 9]
# 4. 간격 설정 (step 사용)
print(numbers[1:8:2]) # [1, 3, 5, 7]
# 5. 리스트를 역순으로 추출
print(numbers[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
🔍 데이터 접근 (Access)
리스트에서 특정 데이터를 가져오는 가장 기본적인 방법은 **인덱싱(Indexing)**입니다.
🔹 인덱싱의 기본 문법
list[index]
- index: 리스트의 위치를 나타내는 정수. 0부터 시작하며 음수 인덱스는 뒤에서부터 접근합니다.
🔹 인덱싱 예제
fruits = ["apple", "banana", "cherry", "date"]
# 1. 첫 번째 요소 접근
print(fruits[0]) # 'apple'
# 2. 마지막 요소 접근
print(fruits[-1]) # 'date'
# 3. 중첩된 리스트 요소 접근
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(nested_list[1][2]) # 6
🎯 슬라이싱과 데이터 접근의 조합
슬라이싱과 데이터 접근은 함께 사용할 때 강력한 도구가 됩니다.
🔹 예제: 슬라이싱으로 특정 데이터 가공하기
# 리스트에서 홀수만 추출
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
hodds = numbers[1::2] # [1, 3, 5, 7, 9]
print(odds)
# 문자열 리스트에서 특정 부분 추출
words = ["Python", "is", "fun", "to", "learn"]
sublist = words[1:4] # ['is', 'fun', 'to']
print(sublist)
# 2차원 리스트의 특정 열 추출
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
column = [row[1] for row in matrix] # [2, 5, 8]
print(column)
🔄 요약
- 슬라이싱: 리스트에서 원하는 구간을 잘라내어 새로운 리스트로 반환합니다.
- 인덱싱: 리스트의 특정 요소에 직접 접근합니다.
- 슬라이싱과 인덱싱 조합: 데이터 가공 및 분석 시 유용하게 활용할 수 있습니다.
파이썬의 리스트 슬라이싱과 데이터 접근 기법을 마스터하면 복잡한 데이터 구조를 다루는 데 매우 효과적입니다!