❗List
파이썬에서 리스트는 여러 개의 데이터를 하나의 변수명으로 저장하여 묶음으로 사용할 수 있는 자료형이다.
대괄호([ ]) 또는 list( )로 선언할 수 있으며 mutable하기 때문에 요소를 추가, 삭제, 수정할 수 있다.
❗기능 예시
✏️리스트 생성
# 빈 리스트 생성
arr = []
# 정수 리스트 생성
nums = [1, 2, 3, 4, 5]
# 문자열 리스트 생성
words = ["apple", "banana", "cherry"]
# 혼합형 리스트 생성
mixed = [1, "apple", 3.14, True]
✏️인덱싱(Indexing)
fruits = ["apple", "banana", "cherry"]
print(fruits[0]) # "apple"
print(fruits[1]) # "banana"
print(fruits[2]) # "cherry"
Indexing이란 리스트에서 인덱스로 접근해서 요소를 알 수 있는 방법이다. 인덱스는 0번부터 시작하며 위와 같은 문법으로 값을 알 수 있다.
✏️슬라이싱(Slicing)
numbers = [1, 2, 3, 4, 5]
print(numbers[1:3]) # [2, 3]
print(numbers[:2]) # [1, 2]
print(numbers[3:]) # [4, 5]
print(numbers[:]) # [1, 2, 3, 4, 5]
Slicing은 리스트의 일부분을 추출하는 방법이다. [ ]안에 범위를 지정해 줄 수 있으며 [n:m]으로 영역이 지정됐다면 n <= index < m으로 오른쪽 범위는 포함하지 않는다.
인덱스를 생략하고 콜론만 쓴다면 전체 범위를 의미한다.
✏️요소 추가
# append: 리스트의 끝에 요소를 추가
numbers = [1, 2, 3]
numbers.append(4)
print(numbers) # [1, 2, 3, 4]
# insert: 특정 인덱스에 요소를 추가
numbers.insert(1, 1.5)
print(numbers) # [1, 1.5, 2, 3, 4]
# extend: 다른 리스트의 모든 요소를 추가
numbers.extend([5, 6])
print(numbers) # [1, 1.5, 2, 3, 4, 5, 6]
리스트 요소 추가에는 append, insert, extend 3가지 방법이 있다.
append는 리스트의 끝에 요소를 추가하고, insert는 원하는 위치에 지정한 요소를 추가해 주는 메소드이다.
extend는 한 리스트에 다른 리스트의 모든 요소를 맨 뒤에 추가해 줄 수 있다.
✏️요소 수정
numbers = [1, 2, 3, 4, 5]
numbers[2] = 10
print(numbers) # [1, 2, 10, 4, 5]
✏️요소 삭제
# remove: 특정 값을 삭제 (처음 발견된 값만 삭제)
numbers = [1, 2, 3, 2, 4]
numbers.remove(2)
print(numbers) # [1, 3, 2, 4]
# pop: 특정 인덱스의 요소를 삭제하고 반환 (인덱스를 지정하지 않으면 마지막 요소를 삭제)
last_element = numbers.pop()
print(last_element) # 4
print(numbers) # [1, 3, 2]
# del: 특정 인덱스의 요소를 삭제
del numbers[1]
print(numbers) # [1, 2]
요소 삭제에도 3가지 방법이 있다. remove는 찾고자하는 값을 파라미터로 받고, 이 값이 처음 발견된 경우만 삭제한다.
pop은 파라미터로 인덱스 번호를 받고, 이 요소를 삭제하고 반환하는 함수이다. 인덱스를 지정하지 않으면 마지막 요소를 삭제하고 반환한다.
del은 특정 인덱스의 요소를 삭제하는 함수이다. pop처럼 삭제하는 함수이지만 del은 삭제한 요소를 반환하지 않고, 슬라이싱을 사용해서 삭제할 수도 있다.
'🔻Language > Python' 카테고리의 다른 글
[Python] LinkList 구현하기 (0) | 2024.11.04 |
---|---|
[Python] and(&) or(|) xor(^) 연산 (1) | 2024.09.24 |
[Python] List & Dictionary Comprehension (0) | 2024.09.03 |
[Python] Dictionary 자료형 기본 정리 (0) | 2024.09.03 |