2009년 11월 19일 목요일

Python3 - 자료구조(Set, Tuple, Dictionary)

Set

 

보통 알고 있는 집합과 유사함.

할당시 중괄호({})를 사용한다.

Ex)

a = {1, 2, 3}

b = {2, 3, 4}

 

Set 연산

 

합집합(union, |)

a.union(b)                     // {1, 2, 3, 4}

a | b                             // {1, 2, 3, 4}

 

교집합(itersection, &)

a.intersection(b)           // {2, 3}

a & b                           // {2, 3}

 

차집합(difference)

a - b                           // {1}

 

 

 

 

Tuple

 

리스트와 유사하나 읽기전용. 즉, 생성시에 만들어진 원소만으로 이루어진다. (추가, 삭제 안됨, 마치 const 인 것으로 생각하면 좋을 것 같음)

생성은 괄호(())를 사용

 

Ex)

t = (1, 2, 3)

(a, b) = (1, 2)                    // print (a, b)로 하면 1 2가 출력됨

 

 

list, set, tuple은 전용의 생성자 함수 list(), set(), tuple()을 가지고 있으며 이를 이용하여 언제든지 변환 가능

a=set((1, 2, 3))                 // a는 set

b = list(a)                         // b는 list

c = tuple(b)                      // c는 tuple

 

 

Dictionary

 

연관배열과 같은 것으로 "키:값"의 쌍을 갖는다. (생성자 함수는 dict())

d = dict(a=1, b=2, c=3)

di = {"a" : "apple", "b" : "banana"}

 

dictionay 명과 키에 의해 값을 반환하거나 새로이 추가할 수 있다.

di["a"]                  // 'apple' 반환

di['c'] = 'cherry'    // 키는 'c' 이고 값은 'cherry'인 원소 추가

 

삭제

del문을 한 원소씩 제거

del di['c']    // 키 값이 'c'인 원소 제거

 

.clear()를 이용하여 전체 dictionary 삭제

di.clear()      // 어떤 원소도 갖지 않는 빈 dictionary로 만듦

 

함수들

.items()                 // 한 번 호출시 현재 Dictionary에서 가르키고 있는 원소를 반환하고 포인터를 다음으로 이동

                            // 반복문과 같이 혼용되어 전체 혹은 일부의 원소를 반환할 때 사용

.keys()                  // 키값만 반환

.values()               // 값들만 반환

댓글 없음:

댓글 쓰기