본문 바로가기
Python/문법

[Python] 파이썬 리스트 자료형의 모든 것

by 에파 2024. 7. 26.
728x90

파이썬에서 리스트(List)는 가장 많이 사용되는 자료형 중 하나로, 다양한 데이터를 하나의 변수에 저장할 수 있는 강력한 시퀀스 자료형입니다. 이번 글에서는 리스트의 다양한 기능들을 설명하겠습니다.

 

1. 리스트란 무엇인가?

리스트는 여러 개의 아이템을 순서대로 저장하는 시퀀스 자료형입니다. 리스트의 각 아이템은 서로 다른 자료형을 가질 수 있으며, 대괄호 '[]'를 사용하여 정의합니다.

 

# 리스트 생성 예시
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "Hello", 3.14, True]

 

2. 리스트의 기본 연산

리스트 요소 접근

리스트의 각 요소는 인덱스를 사용하여 접근할 수 있습니다. 인덱스는 0부터 시작합니다.

 

# 리스트 요소 접근
numbers = [1, 2, 3, 4, 5]
print(numbers[0])  # 출력: 1
print(numbers[4])  # 출력: 5

 

리스트 요소 변경

인덱스를 사용하여 리스트의 특정 요소를 변경할 수 있습니다.

 

# 리스트 요소 변경
numbers[0] = 10
print(numbers)  # 출력: [10, 2, 3, 4, 5]

 

리스트 슬라이싱

리스트의 일부분을 슬라이싱을 통해 추출할 수 있습니다.

 

# 리스트 슬라이싱
sub_list = numbers[1:4]
print(sub_list)  # 출력: [2, 3, 4]

 

리스트 길이 구하기

'len()' 함수를 사용하여 리스트의 길이를 구할 수 있습니다.

 

length = len(numbers)
print(length)  # 출력: 5

 

3. 리스트 관련 함수

요소 추가: 'append()', 'insert()'

리스트의 끝에 요소를 추가할 때는 'append()' 함수를, 특정 위치에 요소를 추가할 때는 'insert()' 함수를 사용합니다.

 

# 요소 추가
numbers.append(6)
print(numbers)  # 출력: [10, 2, 3, 4, 5, 6]

numbers.insert(1, 15)
print(numbers)  # 출력: [10, 15, 2, 3, 4, 5, 6]

 

요소 제거: 'remove()', 'pop()'

특정 값을 제거할 때는 'remove()' 함수를, 인덱스를 사용하여 요소를 제거할 때는 'pop()' 메서드를 사용합니다.

 

# 요소 제거
numbers.remove(15)
print(numbers)  # 출력: [10, 2, 3, 4, 5, 6]

removed_element = numbers.pop(1)
print(removed_element)  # 출력: 2
print(numbers)  # 출력: [10, 3, 4, 5, 6]

 

리스트 정렬: 'sort()', 'reverse()'

리스트를 오름차순으로 정렬할 때는 'sort()' 함수를, 순서를 반대로 뒤집을 때는 'reverse()' 함수를 사용합니다.

 

# 리스트 정렬
numbers.sort()
print(numbers)  # 출력: [3, 4, 5, 6, 10]

numbers.reverse()
print(numbers)  # 출력: [10, 6, 5, 4, 3]

 

리스트 확장: 'extend()'

여러 요소를 한꺼번에 추가할 때는 'extend()' 함수를 사용합니다.

 

# 리스트 확장
numbers.extend([7, 8, 9])
print(numbers)  # 출력: [10, 6, 5, 4, 3, 7, 8, 9]

 

4. 리스트 컴프리헨션 (List Comprehension)

리스트 컴프리헨션은 짧고 간결한 문법으로 리스트를 생성하는 방법입니다.

 

# 리스트 컴프리헨션 예시
squares = [x**2 for x in range(10)]
print(squares)  # 출력: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

 

리스트 컴프리헨션은 조건문과 함께 사용할 수도 있습니다.

 

# 조건문을 사용한 리스트 컴프리헨션
even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares)  # 출력: [0, 4, 16, 36, 64]

 

5. 중첩 리스트

리스트 안에 리스트를 포함할 수 있으며, 이를 중첩 리스트라고 합니다. 중첩 리스트는 2차원 이상의 배열이나 행렬을 표현할 때 유용합니다.

 

# 중첩 리스트 예시
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# 요소 접근
print(matrix[0][1])  # 출력: 2
print(matrix[2][0])  # 출력: 7

 

 

 

파이썬 리스트의 다양한 기능들에 대해서 살펴보았습니다. 이를 잘 활용해서 효율적이고 읽기 쉬운 코드를 작성할 수 있을 것입니다.

댓글