🔻Language/Python

[Python] List 자료형 기본 정리

_니지 2024. 7. 26. 15:03

❗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은 삭제한 요소를 반환하지 않고, 슬라이싱을 사용해서 삭제할 수도 있다.

 

 

 

 

 

 

728x90
반응형