파이썬에서 리스트는 여러 데이터를 순서대로 저장할 수 있는 가변 시퀀스 자료형입니다. 리스트는 다양한 자료형의 값을 포함할 수 있으며, 추가, 수정, 삭제 등의 여러 가지 조작을 수행할 수 있습니다.
1. 리스트 생성 및 기본 사용법
리스트는 대괄호([])를 사용하여 생성하며, 각 요소는 쉼표(,)로 구분합니다.
# 빈 리스트 생성
empty_list = []
# 다양한 데이터 타입의 요소를 포함하는 리스트 생성
my_list = [1, 2, 3, "Python", True]
print(my_list) # 결과: [1, 2, 3, 'Python', True]
설명: my_list는 정수, 문자열, 불리언 등 다양한 자료형을 포함할 수 있습니다.
2. 리스트 인덱싱과 슬라이싱
리스트는 각 요소에 인덱스를 통해 접근할 수 있습니다. 인덱스는 0부터 시작하며, 음수 인덱스를 사용하면 뒤에서부터 접근할 수 있습니다.
my_list = [10, 20, 30, 40, 50]
# 인덱싱
print(my_list[0]) # 결과: 10
print(my_list[-1]) # 결과: 50
# 슬라이싱
print(my_list[1:4]) # 결과: [20, 30, 40]
print(my_list[:3]) # 결과: [10, 20, 30]
print(my_list[::2]) # 결과: [10, 30, 50]
설명: 인덱싱을 통해 개별 요소에 접근할 수 있으며, 슬라이싱을 통해 리스트의 일부분을 가져올 수 있습니다. 슬라이싱은 [시작:끝:간격] 형태로 사용할 수 있습니다.
3. 리스트 수정
리스트는 가변 자료형이므로 특정 위치의 요소를 수정할 수 있습니다.
my_list = [1, 2, 3, 4, 5]
my_list[1] = 20
print(my_list) # 결과: [1, 20, 3, 4, 5]
설명: my_list[1]에 20을 할당하여 두 번째 요소를 수정합니다.
4. 리스트에 요소 추가
리스트에 요소를 추가할 때는 append(), insert(), extend() 메서드를 사용할 수 있습니다.
🔹 append() 메서드
리스트의 끝에 요소를 추가합니다.
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # 결과: [1, 2, 3, 4]
설명: append()는 리스트의 마지막에 4를 추가합니다.
🔹 insert() 메서드
지정한 인덱스 위치에 요소를 삽입합니다.
my_list = [1, 2, 3]
my_list.insert(1, 10)
print(my_list) # 결과: [1, 10, 2, 3]
설명: insert(1, 10)은 인덱스 1 위치에 10을 삽입합니다.
🔹 extend() 메서드
다른 리스트의 모든 요소를 현재 리스트에 추가합니다.
my_list = [1, 2, 3]
my_list.extend([4, 5])
print(my_list) # 결과: [1, 2, 3, 4, 5]
설명: extend()는 리스트 [4, 5]의 모든 요소를 my_list의 끝에 추가합니다.
5. 리스트에서 요소 제거
리스트에서 요소를 제거할 때는 remove(), pop(), clear() 메서드를 사용할 수 있습니다.
🔹 remove() 메서드
리스트에서 특정 값을 제거합니다.
my_list = [1, 2, 3, 2, 4]
my_list.remove(2)
print(my_list) # 결과: [1, 3, 2, 4]
설명: remove()는 리스트에서 첫 번째로 나타나는 2를 제거합니다.
🔹 pop() 메서드
지정한 인덱스의 요소를 제거하고 반환합니다. 인덱스를 생략하면 마지막 요소를 제거합니다.
my_list = [1, 2, 3, 4, 5]
removed_item = my_list.pop(2)
print(my_list) # 결과: [1, 2, 4, 5]
print(removed_item) # 결과: 3
설명: pop(2)는 인덱스 2에 있는 요소 3을 제거하고 반환합니다.
🔹 clear() 메서드
리스트의 모든 요소를 제거합니다.
my_list = [1, 2, 3]
my_list.clear()
print(my_list) # 결과: []
설명: clear()는 리스트의 모든 요소를 삭제하여 빈 리스트로 만듭니다.
6. 리스트 탐색 및 기타 메서드
🔹 index() 메서드
리스트에서 특정 값의 인덱스를 반환합니다.
my_list = [1, 2, 3, 4, 5]
print(my_list.index(3)) # 결과: 2
설명: index(3)은 값 3이 위치한 인덱스를 반환합니다.
🔹 count() 메서드
리스트에서 특정 값의 개수를 반환합니다.
my_list = [1, 2, 2, 3, 4, 2]
print(my_list.count(2)) # 결과: 3
설명: count(2)는 리스트에서 값 2의 개수를 반환합니다.
🔹 sort() 메서드
리스트의 요소를 오름차순으로 정렬합니다. 내림차순 정렬은 reverse=True 인자를 추가합니다.
my_list = [3, 1, 4, 2]
my_list.sort()
print(my_list) # 결과: [1, 2, 3, 4]
설명: sort()는 리스트의 요소를 오름차순으로 정렬합니다.
🔹 reverse() 메서드
리스트의 요소 순서를 뒤집습니다.
my_list = [1, 2, 3, 4]
my_list.reverse()
print(my_list) # 결과: [4, 3, 2, 1]
설명: reverse()는 리스트의 요소 순서를 반대로 만듭니다.
7. 리스트의 반복문 사용
리스트는 for 루프를 사용하여 각 요소를 순회할 수 있습니다.
my_list = ["apple", "banana", "cherry"]
for fruit in my_list:
print(fruit)
설명: for 루프는 리스트 my_list의 각 요소를 순회하며 fruit에 할당하고, 이를 출력합니다.
이처럼 파이썬의 리스트는 다양한 메서드와 연산을 지원하여 유연하게 데이터를 관리할 수 있습니다. 리스트는 데이터를 순서대로 관리하고 반복적으로 처리할 때 매우 유용한 자료형입니다.
'파이썬 Python' 카테고리의 다른 글
파이썬 Python 파일 입출력 (File I/O) 사용하기 (1) | 2024.11.13 |
---|---|
파이썬 가상 환경 (Virtual Environments) 만들고 사용하는 방법 (0) | 2024.11.12 |
파이썬(Python) 문자열 데이터 타입과 연산자 사용하기 (0) | 2024.11.10 |
Python 파이썬 for 문 사용하기 (1) | 2024.11.08 |
파이썬(Python) PyQt5 QVBoxLayout, QHBoxLayout 레이아웃 사용하기 (1) | 2024.10.26 |
파이썬 Python 숫자형 데이터 타입 (정수, 실수) (1) | 2024.10.25 |
파이썬(Python) PyQt5 QGroupBox 사용해서 위젯 그룹 관리하기 (1) | 2024.10.12 |
파이썬(Python) 기본 개발툴 IDLE 편집기 이용하는 방법 (0) | 2024.10.11 |