2021년 5월 14일 금요일

[파이썬] 파이썬의 특이한 dict 데이타형

 

파이썬에는 다른 프로그래밍 언어에서는 볼 수 없는 데이터형들이 있는데, 바로 dict형인데 아주 특이합니다.

 

list형이나 tuple형과 비슷하면서도 다른 점은 각각의 값에 대해 key가 항상 짝으로 있다는 것입니다.

 

아래가 dict형의 기본 형식입니다.

 

{key1:value1, key2:value2, key3:value3, …}

 

dict형은 ‘{‘‘}’와 같은 괄호로 둘러싸여져 있습니다.

 

아래는 비어있는 dict형에 대해 보여줍니다.

 

>>> a = {}

>>> print (a)

{}

>>> print (type(a))

<class 'dict'>

 

아래를 보면 key는 숫자일 수도 있고, 문자열일 수도 있습니다. 물론 value도 숫자 및 문자열 모두 가능합니다.

 

>>> a = {0:1, 1:-20, 4:5}

>>> print (a)

{0: 1, 1: -20, 4: 5}

>>> b = {'Name':'Steve', 'Age':20, 'Address':'NewYork'}

>>> print (b)

{'Name': 'Steve', 'Age': 20, 'Address': 'NewYork'}

 

이제 보면 dict형이 마치 데이터베이스로서 아주 유용하게 사용될 수 있을 도 같습니다.

 

그러면 위의 변수 b에서 다른 keyvalue를 추가하려면 아래와 같이 하면 됩니다.

 

>>> b['Company'] = 'Microsoft'

>>> print (b)

{'Name': 'Steve', 'Age': 20, 'Address': 'NewYork', 'Company': 'Microsoft'}

 

위에서 보다시피 ‘Company’라는 key‘Microsoft’라는 문자열 value가 추가됨을 볼 수 있습니다.

 

물론, 추가하는 것이 가능하다면 특정 keyvalue를 삭제하는 것도 가능합니다.

 

조금 전에 추가한 ‘Company’를 삭제하도록 하겠습니다.

 

>>> del b['Company']

>>> print (b)

{'Name': 'Steve', 'Age': 20, 'Address': 'NewYork'}

 

역시 ‘del’을 사용하는 것은 list형과 마찬가지입니다.

 

특정 key에 대한 value 변경은 아래와 같이 간단합니다.

 

>>> b['Address'] = 'Chicago'

>>> print (b)

{'Name': 'Steve', 'Age': 20, 'Address': 'Chicago'}

 

특정 keyvalue를 불러오는 것은 아래와 같이 하면 됩니다.

 

>>> print (b['Name'])

Steve

>>> print (b.get('Name'))

Steve

 

>>> print (b['Company'])

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

KeyError: 'Company'

>>> print (b.get('Company'))

None

 

위를 2가지 방식이 있는데, get 메서드를 사용하는 것이 보다 안전합니다. 해당되는 key가 있을때는 둘다 별 문제가 발생되지 않고 해당 keyvalue를 잘 불러오지만, get 메서드를 사용하지 않는 방식에서는 실행중 오류가 발생되면 실행중인 프로그램이 비정상적으로 종료가 됩니다. 이를 방지하기 위해서 get 메서드를 사용합니다.

 

이외에도 여러가지 dict형에 대한 기능들이 많이 있습니다.

 

댓글 없음:

댓글 쓰기