Dolphins의 HelloWorld
Python의 Dictionary 본문
Dictionary을 생성해주는 기본적인 형태는
my_dict = dict() 이다.
Dictionary는 c++이나 java의 map의 개념과 비슷하다
즉 key를 통해 value를 찾는 것이다.
아래의 예시를 통해 이러한 Dictionary의 특성을 살펴보자.
my_dict = dict() my_dict['first'] = 1; my_dict['second'] = 2 my_dict['third'] = 3 print(my_dict) my_dict['third'] = my_dict['third'] +3 print(my_dict['third'])
빈도수 측정하기
Dictionary를 사용하면 우리가 원하는 특정 단어가 얼마나 자주 등장하는지 측정하는 것이 가능하다.
방법은 간단하다.
list를 검사하면서 (만약 문자열 검사라면 list로 변환한 후 검사해주면 된다.) 단어를 key로 삼아 만약 그 단어를 처음 만났다면 dirctionary에 새로 추가해주고 한번 만났던 단어라면 value를 증가시켜주면 된다.
아래의 예시를 통해 살펴보자.
names = ['David','Degea','Samsen','Wilson','David','Wilson','Sam'] my_dict = dict() for name in names: if name not in my_dict: my_dict[name] = 1 else: my_dict[name] = my_dict[name]+1 print(my_dict)
get 메소드 사용
위의 코드에서 dictionary에 key가 있는지 없는지에 따라 처리해주기 위해여 조건문을 이용한 것을 볼 수 있다.
get메소드를 사용한다면 이런 번거로운 과정을 한줄로 줄일 수 있다.
my_dict.get(name,0)
이런 형태로 쓰는데 이것의 의미는 my_dict라는 dictionary에서 name이라는 키가 존재할 경우
그 값을 반환하며, 키가 존재하지 않을경우 name이라는 키에 0이라는 값을 갖는 데이터를 추가하라는 의미이다.
이 형태를 사용해서 위에서 봤던 예시코드를 수정해보겠다.
names = ['David','Degea','Samson','Wilson','David','Wilson','Sam'] my_dict = dict() for name in names: my_dict[name] = my_dict.get(name,0) + 1 print(my_dict)
Dictionary에서 key와 value를 추출하기
for in 을 통해 dictionary에 있는 값을 받으면 변수에 key값이 들어가게 된다.
for key in my_dict: print(key)
이렇게 key를 얻어내는 방식 말고도 다른 명령어를 사용하여 dictionary를 통해 key와 value를 별도로 얻어낼 수 있다.
아래의 예시를 통해 어떤 명령어가 있는지 또 어떻게 사용되는지 확인해보겠다.
print(list(my_dict)) #key로만 구성된 list 추출 print(my_dict.keys()) #key만 별도로 추출 print(my_dict.values()) #value만 별도로 추출 print(my_dict.items()) #key와 value 세트를 추출
위의 코드를 보면 items 메소드를 썼을 때 key와 value가 같이 출력되는 것을 볼 수 있다..
이렇게 두개 이상의 값이 연관되어있을 떄
파이썬의 반복문에서는 한번에 두개 이상의 값을 받아서 활용할 수 있다.
예시를 보면 쉽게 이해가 될 것이다.
for x,y in my_dict.items(): print('{},{}'.format(x,y))
연관된 2개의 값을 변수를 2개 사용해서 한번에 받을 수 있는것을 볼 수 있다.
'python' 카테고리의 다른 글
Python의 정규식 (0) | 2018.07.09 |
---|---|
Python의 tuple (0) | 2018.07.06 |
Python의 list2 (0) | 2018.07.05 |
Python의 파일 입출력 (0) | 2018.07.05 |
Python의 문자열 (0) | 2018.07.04 |