본문 바로가기
개발&코딩/Python

[Python] -Dictionary형과 tuple 자료형의 기초적인 사용법

by 우동이 2020. 9. 8.
300x250

tuple형과 dictionary형은 각기 다른 성질을 가지고 있다

이전에 배운 list형과 dictionary형이 각각 값의 변경이 가능한 가변형(mutable) 자료형인데 반해

tuple형은 불변형(immutable object) 객체로서 값을 변경할 수 없다

tuple형은 ()내에 선언하거나 괄호가 쳐지지 않은 상태(상수) 의 형태로 선언한다.

 

dictionary형은 dict형, 사전자료형으로 불리우며 key값과 value로 이루어져 있는 자료형이다.

{} 괄호내에 선언하며 {key1:value1, key2:value2 ...} 의 형태로 이루어진다.

tuple 형 선언&특징

a=(1,2,3)
b=1,2,3
c=('seoul','korea')

del a[0]
>>> TypeError : 'tuple' object doesn't support item deletion

a[0]=10
>>> TypeError : 'tuple' object does not supprot item assignment

print(a[0:1])
>>> (1,2)

위의 a,b,c 변수 3개는 전부 tuple형이다

 

del 함수로 a의 첫번쨰 값을 삭제하려 했지만 tuple형은 삭제가 불가능하다는 error message가 발생한다

두번째 역시 값을 변경하려 했기에 값을 변경할 수 없다는 error message가 출력되었다.

세번째는 tuple형 역시 다른 자료형과 마찬가지로 indexing이 가능함을 보여준다 

indexing을 통한 값을 출력했다.

 

tuple자료형의 중요한 점은 값의 변경과 삭제가 불가능 하다는 것이다.

 

 

dict형 선언&특징 그리고 keys(), values(), items()

dict1={'animal':'monkey','fruit':'apple'}
dict2={'int':[1,2,3,4,5],'double':[3.14, 2.5, 7.7]

print(list(dict1.keys()))
>>> ['animal', 'fruit']

print(list(dict1.values()))
>>> ['monkey', 'apple']

print(list(dict1.items()))
>>> [('animal','fruit'),('monkey','apple')]

위 코드를 보면 dict1,dict2 dictionary형의 두 변수가 생성되어있다

각각 key:value의 형태로 key에 대응하는 요소들이 존재한다.

dict2의 형태를 보면 요소에 list가 들어가있는 형태인데

각기 대응이 필요한 자료형의 경우에 dictionary형을 이용해 선언하면 된다.

 

python 3.0 version 이후로는 dict.keys()함수를 사용하면 결과값을 list형으로 반환하던 것이

dict_keys라는 별도의 변수에 담겨서 나오기 때문에

list형으로 사용 목적이 있다면 별도로 위와같이 list형으로 변환을 해준 후 사용해야 한다

 

각각 keys()함수는 key 값만을 모아서 출력한다.

values()는 value값들만 모아서 출력

items()는 key와 value 값들을 전부 모아서 출력해준다.

 

dict형 - get함수

dict1={'animal':'monkey','fruit':'apple'}
print(dict1.get('animal'))

>>> monkey

get 함수는 호출하는 key값에 대응하는 value를 출력한다

위 코드에선 key 'animal'에 대응하는 monkey라는 value가 출력된다.

300x250

댓글