Python에서 리스트(List)는 다양한 유형의 아이템을 순차적으로 저장하는 데 사용되는 가장 유용한 데이터 구조 중 하나입니다. 이 글에서는 Python 리스트의 기본적인 사용법부터 고급 기술에 이르기까지 상세하게 알아보겠습니다.
리스트 생성과 접근
리스트는 대괄호 []를 사용하여 생성하며, 리스트 내의 각 아이템은 쉼표로 구분됩니다. 리스트의 특정 요소에 접근하려면 인덱스를 사용합니다. 인덱스는 0에서 시작합니다.
# 리스트 생성
fruits = ["apple", "banana", "cherry"]
# 리스트 접근
print(fruits[1]) # 출력: banana
리스트 수정과 추가
리스트의 아이템은 변경 가능(mutable)하여, 특정 인덱스의 값을 쉽게 변경할 수 있습니다. 또한, append() 메서드로 새로운 아이템을 리스트의 끝에 추가할 수 있습니다.
# 아이템 변경
fruits[2] = "mango"
# 아이템 추가
fruits.append("orange")
print(fruits) # 출력: ['apple', 'banana', 'mango', 'orange']
리스트 아이템 삭제
del 구문, pop() 메서드, 또는 remove() 메서드를 사용하여 리스트에서 아이템을 삭제할 수 있습니다. del은 인덱스를 기반으로 삭제하고, pop()은 삭제된 아이템을 반환하며, remove()는 특정 값을 찾아 삭제합니다.
# 아이템 삭제
del fruits[1] # banana 삭제
fruits.pop(2) # mango 삭제하고 반환
fruits.remove("apple") # apple 삭제
print(fruits) # 출력: ['orange']
리스트 슬라이싱
리스트 슬라이싱은 서브리스트를 생성하는 데 사용됩니다. 슬라이스는 시작 인덱스, 종료 인덱스, 스텝을 지정하여 수행할 수 있습니다.
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
sub_numbers = numbers[1:8:2] # 1부터 7까지 인덱스 중 2씩 증가
print(sub_numbers) # 출력: [1, 3, 5, 7]
리스트 컴프리헨션
리스트 컴프리헨션은 간결한 코드로 새 리스트를 생성하는 방법을 제공합니다. 이는 반복문과 조건문을 포함할 수 있어 매우 유연합니다.
# 리스트 컴프리헨션
squares = [x**2 for x in range(10)]
even_squares = [x**2 for x in range(10) if x**2 % 2 == 0]
print(squares) # 출력: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(even_squares) # 출력: [0, 4, 16, 36, 64]
리스트 정렬
sort() 메서드나 sorted() 함수를 사용하여 리스트의 아이템을 정렬할 수 있습니다. sort()는 리스트 자체를 정렬하며, sorted()는 정렬된 새 리스트를 반환합니다.
# 리스트 정렬
fruits = ["banana", "apple", "mango", "cherry"]
fruits.sort()
print(fruits) # 출력: ['apple', 'banana', 'cherry', 'mango']
# sorted 사용
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 출력: [1, 1, 2, 3, 4, 5, 6, 9]
리스트는 Python 프로그래밍에서 다양한 데이터를 효과적으로 관리하고 처리하는 데 필수적인 도구입니다. 위에서 설명한 기능들을 숙지하면, Python에서 데이터를 보다 효율적으로 처리할 수 있습니다.
'Python' 카테고리의 다른 글
Python에서 딕셔너리(Dictionary) 활용하기: 기본부터 실용적인 팁까지 (32) | 2024.05.08 |
---|---|
Python에서 튜플(Tuple) 이해하기: 특징과 활용법 (33) | 2024.05.08 |
Python에서 문자열 다루기: 기본적인 방법과 팁 (34) | 2024.05.07 |
Python 모듈과 라이브러리 이해하기 (32) | 2024.05.06 |
Python에서 함수 정의와 활용하기 (37) | 2024.05.06 |