배열 (Array)
배열은 같은 데이터 타입의 요소들을 순서대로 저장할 때 유용하다. 배열은 리스트보다 적은 메모리를 사용하며, 자료 구조의 각 요소가 사용하는 메모리 공간 크기가 같기 때문에 효율적으로 동작한다. 요소가 연속된 공간에 순서대로 저장되기 때문에 요소를 삽입하거나 제거할 때 배열 전체를 수정해야 한다는 문제가 있다.
import array
arr = array.array('i', [1, 2, 3, 4, 5])
print("Array : ", arr)
리스트 (List)
리스트는 데이터 타입이 같거나 다른 요소들을 순서대로 저장할 때 유용하다. 리스트는 변경 가능하므로 요소를 수정할 수 있다. 각 요소를 독립된 공간에 저장하고 요소의 주소를 서로로 참조하여 연결한다. 요소가 모두 다른 위치에 있고 주소로 연결되기에 삽입과 삭제가 간단하다. 요소가 고정된 위치에 없기 때문에 특정 값을 읽는 데 비효율적이다.
list = [1, "hello", 0.5, True]
print("List : ", list)
list[1] = "world"
print("Updated List : ", list)
튜플 (Tuple)
튜플은 같거나 다른 데이터 타입의 요소들을 저장할 때 유용하다. 튜플은 기본 자료형은 아니지만 함수에서 여러 개의 값을 반환하기 위해 추가된 자료 구조이다. 서로 같거나 다른 데이터 타입의 요소를 열거할 수 있지만 값이 나열된 순간 길이가 고정되어 메모리 공간을 최적화하기에 수정이 불가능하다. 튜플은 리스트에 비해 더 적은 메모리를 차지한다.
tuple = [1, "hello", 0.5, True]
print("Tuple : ", tuple)
집합 (Set)
집합은 같거나 다른 데이터 타입의 요소들을 중복 없이 저장하기 위한 자료 구조이다. 값이 중복되지 않아 집합 연산에 주로 쓰이고 요소의 순서가 따로 없다. 집합은 변경 가능하므로 수정할 수 있다. 하지만 순서가 없으므로 요소에 접근할 수 없다.
set = [1, "hello", 0.5, True]
print("Set : ", set)
딕셔너리 (Dictionary)
딕셔너리는 같거나 다른 데이터 타입의 키-값 쌍 요소를 저장할 때 유용하다. 성능을 버리고 나머지 자료 구조의 장점을 모두 가져온 자료 구조이다. key-value 쌍은 순서가 따로 없다. 딕셔너리는 변경 가능하므로 항목을 수정할 수 있다.
dict = {
"name" : "Kim",
"age" : 20,
"city" : "Seoul"
}
print ("Dictionary : ", dict)
dict["age"] = 25
print("Updated Dictionary : ", dict)
locales
locals()는 로컬 심볼 테이블 딕셔너리를 가져오는 메서드로 업데이트 또한 가능하다. 이 함수는 로컬에 선언된 모든 변수를 조회할 수 있는 강력한 명령이므로 디버깅에 많은 도움이 된다.
import pprint
pprint.pprint(locals())
{
'nums': [2, 7, 11, 15],
'pprint': <module 'pprint' from '/usr/lib/python3.11/pprint.py'>,
'self': <__main__.Solution object at 0x7fdb1bb63dc0>,
'target': 9
}
'Programming > Python' 카테고리의 다른 글
[Python] 네임 스페이스 (Namespace) (0) | 2023.06.12 |
---|---|
[Python] 상속 (Inheritance) (0) | 2023.06.09 |
[Python] 폴더 내의 파일 재명명하기 (0) | 2023.06.08 |
[Python] csv 파일을 목록화하고 폴더 생성후 파일 저장하기 (0) | 2023.05.15 |
[Python] 가속도계 데이터 분석 (0) | 2023.02.13 |