딕셔너리... 교수님이 내준 딕셔너리 과제때문에 골머리를 앓은 적이 있음.
*여기서 d : dictionary
d.setdefault(키,기본값) : 값에 기본값을 저장한 뒤 해당 값을 반환. 추가만 가능
d.update(키=값) : 딕셔너리에서 키의 값을 수정함. 콤마(,)로 구분짓고 여러개 수정도 가능함. 추가와 수정 모두 가능
*키가 문자열일 때만 사용 가능
숫자일 경우에는 update(딕셔너리) 처럼 딕셔너리를 통째로 넣어서 수정 가능.
or
update(키,값) 도 가능.
d.pop(키) : 특정 키-값 쌍을 삭제한 뒤 그 값을 반환.
del d[_] : del 사용하여 지정한 키 삭제 가능함.
d.popitem() : 마지막 키-값 쌍을 삭제함.
d.clear() : 싹~다 지워버리기. 클리어!
get(키) : 특정 키의 값을 가져옴.
items() : 딕셔너리 키-쌍 값 모두 가져옴
keys() : 키를 모두 가져옴
values() : 값을 모두 가져옴
x = {'a': 10, 'b': 20, 'c': 30, 'd': 40}
>>> for key, value in x.items():
print(key,value)
a 10
b 20
c 30
d 40
딕셔너리는 for 반복문으로 삭제하면 안됨.
딕셔너리 표현식에서 if 조건문을 사용하여 삭제할 값만 제외시키자.
- {키: 값 for 키, 값 in 딕셔너리 if 조건식}
- dict({키: 값 for 키, 값 in 딕셔너리 if 조건식})
>>> x = {'a': 10, 'b': 20, 'c': 30, 'd': 40}
>>> x = {key: value for key, value in x.items() if value != 20}
>>> x {'a': 10, 'c': 30, 'd': 40}
*중첩 딕셔너리.
계층형 데이터 저장할 때 유용하다.
- 딕셔너리[키][키]
- 딕셔너리[키][키] = 값
** 문제.
키 값이 delta인 키-값 쌍과 값이 30인 키-값 쌍 삭제하도록 만들어라.
<My answer>
keys = input().split()
values = map(int,input().split())
x = dict(zip(keys,values))
newD = {key : value for key , value in x.items() if (key != 'delta' and value != 30)}
print(newD)
'Language > Python' 카테고리의 다른 글
Set (0) | 2021.07.24 |
---|---|
string (0) | 2021.07.20 |
2D array + a (0) | 2021.07.18 |
List (0) | 2021.07.09 |
sequence type, baekjoon quest. (0) | 2021.07.04 |