💻 프로그래밍/Python

[파이썬] 데이터 구조 - List, Tuple, Dictionary, Set, String, Array

gameuiux 2024. 5. 25. 22:53
728x90
반응형

데이터 구조

파이썬에서는 데이터를 다루기 위한 다양한 방법과 데이터 구조를 제공한다.

각 데이터 구조는 특정한 용도와 특성을 가지며,

적절한 데이터 구조를 선택하면 코드의 효율성과 가독성을 크게 향상시킬 수 있다.

 

 

 

1. 리스트(List)

리스트는 순서가 있는 변경 가능한(mutable) 시퀀스로,

다양한 데이터 타입의 요소들을 포함할 수 있다.

특징

순서가 있다.
변경 가능
중복된 값을 허용


예시

# 리스트 생성
my_list = [1, 2, 3, 4, 5]
print(my_list)  # 출력: [1, 2, 3, 4, 5]

# 리스트 요소에 접근
print(my_list[0])  # 출력: 1

# 리스트에 요소 추가
my_list.append(6)
print(my_list)  # 출력: [1, 2, 3, 4, 5, 6]

# 리스트 요소 제거
my_list.remove(2)
print(my_list)  # 출력: [1, 3, 4, 5, 6]
 

[파이썬] 리스트(List)

리스트(List)파이썬에서 리스트는 가변적인 순서가 있는 컬렉션 데이터 구조로, 다양한 데이터 타입을 저장할 수 있다.리스트는 대괄호 [ ]로 정의되며, 요소는 쉼표로 구분된다.   리스트 생성#

gameuiux.tistory.com

 

 

 

2. 튜플(Tuple)

튜플은 순서가 있는 변경 불가능한(immutable) 시퀀스

리스트와 유사하지만, 한 번 생성된 튜플의 요소는 변경할 수 없다.

특징

순서가 있다.
변경 불가능
중복된 값을 허용


예시

# 튜플 생성
my_tuple = (1, 2, 3)
print(my_tuple)  # 출력: (1, 2, 3)

# 튜플 요소에 접근
print(my_tuple[1])  # 출력: 2

# 튜플은 변경할 수 없습니다.
# my_tuple[1] = 4  # 오류 발생

 

 

 

3. 딕셔너리(Dictionary)

딕셔너리는 키-값 쌍을 저장하는 데이터 구조

키는 고유해야 하며, 각 키는 하나의 값에 매핑된다.

특징

순서가 없다(파이썬 3.7부터는 삽입 순서를 유지)
키는 변경 불가능해야 한다(예: 문자열, 숫자, 튜플)
값은 변경 가능

 

예시

# 딕셔너리 생성
my_dict = {'name': 'Alice', 'age': 30}
print(my_dict)  # 출력: {'name': 'Alice', 'age': 30}

# 딕셔너리 값에 접근
print(my_dict['name'])  # 출력: Alice

# 딕셔너리에 값 추가
my_dict['address'] = 'Wonderland'
print(my_dict)  # 출력: {'name': 'Alice', 'age': 30, 'address': 'Wonderland'}

# 딕셔너리 값 제거
del my_dict['age']
print(my_dict)  # 출력: {'name': 'Alice', 'address': 'Wonderland'}

 

 

 

4. 집합(Set)

집합은 고유한 값을 저장하는 데이터 구조

중복된 값을 허용하지 않으며, 순서가 없다.

특징

순서가 없다.
중복된 값을 허용하지 않는다.
변경 가능


예시

# 집합 생성
my_set = {1, 2, 3, 3, 4}
print(my_set)  # 출력: {1, 2, 3, 4}

# 집합에 값 추가
my_set.add(5)
print(my_set)  # 출력: {1, 2, 3, 4, 5}

# 집합에서 값 제거
my_set.remove(3)
print(my_set)  # 출력: {1, 2, 4, 5}

 

 

 

5. 문자열(String)

문자열은 문자의 시퀀스로, 변경 불가능한 데이터 구조

문자열은 작은 따옴표 ' '나 큰 따옴표 " "로 둘러싸여 있다.

특징

순서가 있다.
변경 불가능


예시

# 문자열 생성
my_string = "Hello, World!"
print(my_string)  # 출력: Hello, World!

# 문자열 슬라이싱
print(my_string[0:5])  # 출력: Hello

# 문자열 연결
new_string = my_string + " How are you?"
print(new_string)  # 출력: Hello, World! How are you?

 

 

 

6. 배열(Array)

파이썬에서는 리스트와 유사하지만, 동일한 데이터 타입만을 허용하는 배열을 사용할 수 있다.

이를 위해서는 array 모듈을 사용해야 한다.

특징

동일한 데이터 타입의 요소만 포함
순서가 있다.
변경 가능


예시

import array

# 정수형 배열 생성
my_array = array.array('i', [1, 2, 3, 4])
print(my_array)  # 출력: array('i', [1, 2, 3, 4])

# 배열에 값 추가
my_array.append(5)
print(my_array)  # 출력: array('i', [1, 2, 3, 4, 5])

 

 

 

정리

파이썬에서는 다양한 데이터 구조를 통해 데이터를 효과적으로 다룰 수 있다.

각 데이터 구조는 특정한 용도와 특성을 가지고 있으며,

적절한 데이터 구조를 선택하는 것은 코드의 효율성과 가독성을 높이는 데 중요하다.

728x90
반응형