728x90
728x90
파이썬 리스트: 생성, 접근, 수정, 삭제 심층 분석
파이썬 리스트란 무엇인가?
파이썬 리스트는 다양한 데이터 타입의 값들을 순서대로 저장할 수 있는 가변적인 데이터 구조입니다. 즉, 리스트에 저장된 값들을 언제든지 추가, 삭제, 수정할 수 있습니다. 리스트는 대괄호 [] 안에 쉼표(,)로 구분하여 값들을 나열하는 형태로 표현됩니다.
리스트 생성하기
# 빈 리스트 생성
empty_list = []
# 다양한 데이터 타입을 포함하는 리스트 생성
my_list = [1, 2, 3, "apple", "banana", True]
- 빈 리스트: 아무런 값도 포함하지 않는 리스트입니다.
- 다양한 데이터 타입: 리스트는 숫자, 문자열, 불리언 값 등 다양한 데이터 타입을 함께 저장할 수 있습니다.
728x90
리스트 요소에 접근하기
리스트의 각 요소는 인덱스를 통해 접근합니다. 파이썬의 인덱스는 0부터 시작합니다.
my_list = [10, 20, 30, 40]
print(my_list[0]) # 첫 번째 요소 출력 (10)
print(my_list[2]) # 세 번째 요소 출력 (30)
- 음수 인덱스: 리스트의 끝에서부터 역순으로 접근할 때 사용합니다. my_list[-1]은 마지막 요소를 의미합니다.
리스트 요소 수정하기
리스트의 요소는 인덱스를 사용하여 직접 수정할 수 있습니다.
my_list = [10, 20, 30, 40]
my_list[1] = 50
print(my_list) # [10, 50, 30, 40]
리스트 요소 추가하기
- append(): 리스트의 맨 뒤에 요소 추가
- insert(): 특정 위치에 요소 추가
my_list = [10, 20, 30]
my_list.append(40) # [10, 20, 30, 40]
my_list.insert(1, 50) # [10, 50, 20, 30, 40]
리스트 요소 삭제하기
- del: 인덱스를 사용하여 요소 삭제
- remove(): 값을 사용하여 첫 번째로 발견되는 요소 삭제
- pop(): 특정 인덱스의 요소를 삭제하고 반환 (스택 연산에 유용)
my_list = [10, 20, 30, 40]
del my_list[1] # [10, 30, 40]
my_list.remove(30) # [10, 40]
removed_item = my_list.pop(0) # [40]
리스트 슬라이싱
리스트의 일부분을 추출하여 새로운 리스트를 생성할 수 있습니다.
my_list = [10, 20, 30, 40, 50]
sub_list = my_list[1:4] # [20, 30, 40]
- my_list[start:end:step]: start부터 end-1까지 step만큼 건너뛰며 슬라이싱
리스트 연산
- +: 두 개의 리스트를 연결하여 새로운 리스트 생성
- *: 리스트를 반복하여 새로운 리스트 생성
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined_list = list1 + list2 # [1, 2, 3, 4, 5, 6]
repeated_list = list1 * 3 # [1, 2, 3, 1, 2, 3, 1, 2, 3]
리스트의 길이 구하기
len() 함수를 사용하여 리스트의 요소 개수를 구할 수 있습니다.
my_list = [1, 2, 3]
length = len(my_list) # 3
리스트 관련 함수들
- count(): 특정 값이 리스트에 몇 번 등장하는지 계산
- index(): 특정 값의 인덱스를 반환 (값이 없으면 ValueError 발생)
- sort(): 리스트를 오름차순으로 정렬
- reverse(): 리스트의 순서를 반대로 뒤집기
my_list = [3, 1, 2]
count = my_list.count(1) # 1
index = my_list.index(2) # 2
my_list.sort() # [1, 2, 3]
my_list.reverse() # [3, 2, 1]
리스트 복사
리스트를 복사할 때는 단순히 = 연산자를 사용하면 원본 리스트와 복사본이 같은 객체를 참조하게 됩니다. 새로운 리스트를 생성하려면 슬라이싱이나 copy() 메소드를 사용해야 합니다.
original_list = [1, 2, 3]
copied_list = original_list[:] # 슬라이싱을 이용한 복사
2차원 리스트
리스트 안에 리스트를 포함하여 2차원 배열과 같은 구조를 만들 수 있습니다.
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
결론
파이썬 리스트는 다양한 기능과 유연성을 제공하여 데이터 처리에 있어 매우 유용한 도구입니다. 위에서 설명한 내용들을 바탕으로 다양한 문제를 해결하고 효율적인 코드를 작성할 수 있을 것입니다.
728x90
728x90
'Python을 배워보자 > 4. 자료 구조' 카테고리의 다른 글
파이썬 딕셔너리 메소드 (keys(), values(), items() 등) (0) | 2024.09.22 |
---|---|
파이썬 딕셔너리 생성, 키-값 접근, 수정, 삭제 (0) | 2024.09.22 |
파이썬 리스트와 튜플의 차이점 (0) | 2024.09.22 |
파이썬 튜플 생성, 요소 접근 (0) | 2024.09.21 |
파이썬 리스트 메소드 (append(), insert(), remove() 등) (0) | 2024.09.21 |