-
자료형에 따른 활용법(함수 등) - 딕셔너리파이썬 2020. 7. 1. 03:58
1. 딕셔너리 만드는 법
딕셔너리의 경우 key와 value 값이 있어야 하므로 기본적으로 2개의 값이 필요하다. 중괄호 { }로 둘러쌓여 있으며 리스트, 튜플과 다르게 별도의 순서가 존재하지 않는다. 딕셔너리의 형태는 다음과 같다. 참고로 딕셔너리의 key값에 리스트는 올 수 없다. 왜냐하면 key값은 바뀌지 않아야 하기 때문. 그래서 튜플이나 문자, 숫자는 올 수 있어도 리스트는 올 수 없다.
ex) {Key1:Value1, Key2:Value2, Key3:Value3, ...}
2. 딕셔너리에서 key값을 이용해 value값 얻어내기 : x[ "y" ]
key와 value는 한쌍이므로 key값을 부르면 value값도 같이 따라온다.
* 다만 한개의 key값은 한 개의 value값만 가질 수 있으므로 딕셔너리 내에서 key값이 중복될 경우 그 중에 한 개의 key값만 유효하게 된다.
>>> a = {"김연아" : "피겨", "류현진" : "야구", "손흥민" : "축구"} >>> a["손흥민"] '축구'
2. 딕셔너리 요소 추가하기 : x[ "y" ] = "z"
* a는 딕셔너리의 변수값, y는 key값, z는 value값이다.
>>> a = {"김연아" : "피겨", "류현진" : "야구"} >>> a["손흥민"] = "축구" >>> a {'김연아': '피겨', '류현진': '야구', '손흥민': '축구'}
3. 딕셔너리 요소 여러개 한 꺼번에 추가하기 : x.update( {"y1 : z1" , "y1 : z1"} )
* update를 이용하면 딕셔너리 안에 여러 개의 요소를 한 꺼번에 넣을 수 있다.
* 변수.update( { "key1" : "value1" , "key2" : "value2"} )
>>> a = {"김연아" : "피겨" } >>> a.update ({"류현진" : "야구", "손흥민" : "축구"}) >>> a {'김연아': '피겨', '류현진': '야구', '손흥민': '축구'}
4. 딕셔너리 함수와 기능
(1) 딕셔너리에서 key값을 이용해 value값 얻어내기 : x.get( "y" )
get함수를 이용해 value값을 얻어내는 것은 기존의 key값을 이용한 방법과 결과값은 같다.
* 다만 존재하지 않는 key값을 사용할 경우 기존에는 오류 메시지가 뜨지만 get함수는 None값을 출력.
>>> a = {"김연아" : "피겨", "류현진" : "야구", "손흥민" : "축구"} >>> a.get("손흥민") '축구' >>> print(a.get("박지성")) None
(2) 딕셔너리 내 원하는 key값이 없을 경우 원하는 디폴트 값을 불러오길 원하면 : x.get( y, z )
get함수를 이용할 때, key값이 존재하지 않을 경우 None이 아닌 디폴트 메시지를 출력하게 할 수 있다.
변수.get("key값", "디폴트 메시지")와 같은 형식으로 써주면 된다.
(3) 딕셔너리 key값 리스트로 돌려받기 : x.keys( )
keys 함수를 쓰면 딕셔너리 내의 key값만 따로 추출이 가능하다.
* 단, keys 함수를 쓸 경우 파이썬 2.7버전까진 key값을 리스트로 돌려줬다.
* 파이썬 3.0부터는 객체값으로 돌려주고 있으며 이를 리스트로 받고 싶다면 list(a.keys())를 써야한다.
>>> a = {"김연아" : "피겨", "류현진" : "야구", "손흥민" : "축구"} >>> a.keys() dict_keys(['김연아', '류현진', '손흥민'])
(4) 딕셔너리 value값 리스트로 돌려받기 : x.values( )
key값을 구하는 것과 마찬가지로 해당 함수를 쓰면 value함수를 쓰면 value 값을 리스트 형태로 돌려준다.
>>> a = {"김연아" : "피겨", "류현진" : "야구", "손흥민" : "축구"} >>> a.values() dict_values(['피겨', '야구', '축구'])
(5) 딕셔너리의 key값과 value값 쌍으로 돌려받기 : x.items( )
items 함수는 key값과 value값을 튜플로 묶어서 리스트 형태의 객체로 돌려준다.
>>> a = {"김연아" : "피겨", "류현진" : "야구", "손흥민" : "축구"} >>> a.items() dict_items([('김연아', '피겨'), ('류현진', '야구'), ('손흥민', '축구')])
(6) 딕셔너리 요소 삭제하기 : del x[ "y" ]
* del 함수를 딕셔너리에서 사용해줄 경우 key값을 삭제하면 key값과 value값이 같이 한쌍으로 삭제된다.
>>> a = {"김연아" : "피겨", "류현진" : "야구", "손흥민" : "축구"} >>> del a["손흥민"] >>> a {'김연아': '피겨', '류현진': '야구'}
(7) 딕셔너리의 key값, value값 삭제하기 : x.clear( )
* clear 함수를 사용하면 딕셔너리 내 모든 요소를 삭제하고 { }만 남도록 만든다.
>>> a = {"김연아" : "피겨", "류현진" : "야구", "손흥민" : "축구"} >>> a.clear() >>> a {}
(8) 딕셔너리 내에 key값 여부 조사 : "y" in x
* 딕셔너리 내에서 해당 key값의 유무를 판단하여 참/거짓으로 나타낸다.
>>> a = { "김연아" : "피겨", "류현진" : "야구", "손흥민" : "축구"} >>> a = {"김연아" : "피겨", "류현진" : "야구", "손흥민" : "축구"} >>> "김연아" in a True >>> "박지성" in a False
'파이썬' 카테고리의 다른 글
자료형에 따른 활용법(함수 등) - 불, 불리언, 논리자료형 (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 집합자료(set) (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 튜플 (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 리스트 (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 문자열 (0) 2020.06.30