728x90
딕셔너리 선언 {}
Key: Value 의 쌍을 원소로 가집니다.
기본적인 사용법은 다음과 같습니다.
>>> people = {
... 'name': 'jvv',
... 'age': 27
... }
>>>
>>> people['name']
'jvv'
>>>
>>> len(people)
2
원소 추가, 수정, 삭제
다음과 같이 Key 로 접근하여 추가, 수정합니다.
>>> people['hobby'] = 'guitar'
>>>
>>> people
{'name': 'jvv', 'age': 27, 'hobby': 'guitar'}
>>>
>>> people['age'] = 28
>>>
>>> people
{'name': 'jvv', 'age': 28, 'hobby': 'guitar'}
setdefault() 를 사용하고 추가할 수 있습니다.
다음과 같은 특징을 가집니다.
동일한 Key 로는 중복해서 추가되지 않고, 호출 시 Value를 반환하는 것을 볼 수 있습니다.
>>> people
{'name': 'jvv', 'age': 28, 'hobby': 'guitar'}
>>>
>>> people.setdefault('job', 'student')
'student'
>>>
>>> people
{'name': 'jvv', 'age': 28, 'hobby': 'guitar', 'job': 'student'}
>>>
>>> people.setdefault('job', 'teacher')
'student'
삭제할 때는 del 을 사용하여 Key 를 이용하여 접근합니다.
>>> people
{'name': 'jvv', 'age': 28, 'hobby': 'guitar', 'job': 'student'}
>>>
>>> del people['job']
>>>
>>> people
{'name': 'jvv', 'age': 28, 'hobby': 'guitar'}
초기화할 때는 clear()
>>> people.clear()
>>> people
{}
Keys() Values() Items()
keys() 를 이용하여 딕셔너리의 key 들로만 추출할 수 있습니다.
반복가능한 객체로, 리스트로 사용할 경우 list() 를 이용합니다.
>>> people.keys()
dict_keys(['name', 'age', 'hobby'])
>>>
>>> keys = people.keys()
>>> type(keys)
<class 'dict_keys'>
>>> keys[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object is not subscriptable
>>>
>>> keys = list(keys)
>>> keys[0]
'name'
values() 도 동일합니다.
>>> people
{'name': 'jvv', 'age': 28, 'hobby': 'guitar'}
>>>
>>> values = list(people.values())
>>> values[2]
'guitar'
다음은 items() 입니다.
>>> people.items()
dict_items([('name', 'jvv'), ('age', 28), ('hobby', 'guitar')])
>>>
>>> for k, v in people.items(): print(k, v)
...
name jvv
age 28
hobby guitar
다음과 같이 활용할 수 있습니다.
people = []
items = {
'name': 'jvvp',
'age': 29,
'job': 'student'
}
items2 = {
'name': 'hong',
'age': 33,
'job': 'N/A'
}
items3 = {
'name': 'lee',
'age': 27,
'job': 'student'
}
people.append(items)
people.append(items2)
people.append(items3)
for p in people:
for k, v in p.items():
if v == 'student':
print(f'{p["name"]} is Student.')
확장 update()
확장할 때는 update() 를 사용합니다. 리스트의 extend() 와 유사합니다.
>>> people = {}
>>> people['name'] = 'jvv'
>>> people
{'name': 'jvv'}
>>> people_info = {'age': 30}
>>> people.update(people_info)
>>> people
{'name': 'jvv', 'age': 30}
딕셔너리 Key, Value 바꾸기
컴프리헨션을 이용하면 간단하게 Key, Value 를 바꿀 수 있습니다.
dic = {
'1': 'a',
'2': 'b',
'3': 'c'
}
print(dic)
r_dic = {value: key for key, value in dic.items()}
print(r_dic)
결과
{'1': 'a', '2': 'b', '3': 'c'}
{'a': '1', 'b': '2', 'c': '3'}
'Language > Python' 카테고리의 다른 글
파이썬 컴프리헨션 표현식 사용하기 comprehension (0) | 2020.07.09 |
---|---|
파이썬 딕셔너리 정렬하기 내장함수 sorted() (0) | 2020.07.09 |
파이썬 리스트 섞기, 정렬, 역순 suffle sort reverse reversed (0) | 2020.07.09 |
파이썬 리스트 사용하기 list (0) | 2020.07.09 |
파이썬 한글 시간 사용하기 datetime / locale.setlocale() (2) | 2020.07.06 |