파이썬 모듈 관광 4회: 기본제공 자료구조 겉핥기!

오늘은 파이썬에서 기본으로 제공하는 자료구조가 어떤
것이 있는지 겉핥기식으로 쭉 고속으로 관광가겠습니다~ 🙂

내장 자료구조

우선 기본 내장자료구조 str, unicode, list, tuple, dict, set 여섯가지에서 아무 기능이나 하나씩 써 봅시다. ^.^;

밑의 타입들은 보통 다른 언어에서는 자료구조라기보다는 그냥 primitive 타입이지만 그래도 그냥 나머지도 끼워줘 봅시다;

bool, frozenset 등등은 그냥 넘어갑시다 -ㅇ-;

이제 기본 자료형을 보았으니 다음으로 표준 확장 모듈 자료구조들을..

표준 라이브러리 자료구조

작은 값을 많이 저장할 때 효율적으로 메모리또는 디스크에 들고 있을
수 있는 array
모듈입니다.

heapq
모듈은 기본 list자료형을 가지고 우선순위 큐(priority queue)
쓸 수 있게 해줍니다. 스케줄링 루틴 같은 곳에서 정말 편리합니다.
속도가 무진장 빠릅니다. 🙂

bisect
모듈은 정렬된 list에서 이진검색법으로 자료의 위치를 찾아줍니다.
dict로 다루기에는 자료의 양이 많거나, 순서가 중요한 경우에 쓸만합니다.
아래 예제는 동전을 몇 번 던지면 앞면이 나오나 같은 경우를 나타내는

기하분포
랜덤함수를 bisect로 만든 방법인데, 그냥 계산해버리는
방법도 있지면 예제를 위해서 –; (실제로 분포함수가 없고 그냥 이산확률만
덩그러니 주어졌을 때 bisect가 꽤 쓸만합니다.)

다음은 어정쩡한 이름을 달고 있는
collections
입니다.

빼놓으면 서운하니까
bsddb
도 한 번..

이 외에도
UserString,
UserDict,
StringIO,
decimal,
Queue
등 유용한 것이 많이 있습니다만, 신비감 조성을 위해서 모두 소개하지 않고
이쯤에서 마칩니다. =3=33

2 thoughts on “파이썬 모듈 관광 4회: 기본제공 자료구조 겉핥기!”

  1. 일 년 전에 이 글이 있었다면 얼마나 좋았을까요. ㅠ.ㅠ; 몸으로 부딧히며 생짜로 구현했다가 더 좋은게 기본적으로 있다는걸 알고 좌절하기 수십번-_-

    슬플 뿐입니다. ㅎㅎ

  2. 파이썬 관광모듈 아주 흥미롭게 보고 있습니다. 이번회는 제게 아주 유용해서 좋은 글 감사드립니다. Python이 computational science에 강하다(?)는 얘길 여기저기서 듣고, 무척이나 관심있게 보고 있습니다.

    Python를 computational science(optimization-linear/integer/dynamic programming, simulation)에서 효과적으로 쓰기 위한 tool (IDE, editor, debugger, popular APIs) 들도 한번 소개해주심 너무 좋겠습니다.

Comments are closed.