[Python] 딕셔너리 사용하기
- Language/Python
- 2020. 10. 13.
연결된 값을 묶어서 저장하는 용도로 딕셔너리라는 자료형을 제공한다.
a = {'a' : 50, 'b' : 40}
딕셔너리의 특징은 {} 중괄호를 사용한다는 점이다.
그리고 Java에서의 Map 방식을 이용한다.
기존 리스트는 순서대로 들어갔으므로 순서를 통해 위치를 파악한다면
딕셔너리는 a { 키값 : 결과값}의 키값을 통해서 결과값을 비교한다.
즉, 키 값을 임의로 저장 할 수 있으며, 내가 원하는 키값을 통해 결과값을 도출 시킬 수가 있다.
여기서 만약 key값이 중복 된다면?
a = {'a' : 10, 'b':20, 'a':30}
>>>a :30, b: 20
기존 언어와는 다르게 중복된 데이터가 들어오더라도 Error가 발생하지 않는다.
그러나 기존의 자료는 버리고 새로운 값이 들어감을 확인 할 수가 있다.
그러므로 중복이 되더라도 Error가 발생하지 않으므로 괜찮을 수도 있지만 데이터가 사라질 수도 있으므로 조심해야 한다.
딕셔너리 키의 자료형
딕셔너리의 키는 문자열 뿐만 아니라 정수, 실수, 불도 모두 사용 할 수 있다. 혹은 자료형을 섞어서도 가능하다.
값에는 리스트, 딕셔너리 등 모든 자료형을 사용 할 수가 있다.
x = {'a' : 5, 2 : 3, 3, [1,3]}
그러나 키값에는 딕셔너리, 리스트를 사용 할 수는 없다.
빈 딕셔너리 만들기
x = {}
y = dict()
비어있는 딕셔너리를 생성한다.
x = dict(a=5, b=4)
>>> {'a' : 5, 'b' : 4}
키와 결과값을 들어갔음을 확인 할 수가 있다.
딕셔너리의 키에 접근하고 값 할당하기
딕셔너리[키 값]
기존 리스트, 튜플 같은 경우 인덱스 []을 사용했다. 딕셔너리도 마찬가지다.
다만 인덱스로 정하지 않고 정해진 키 값을 통해 접근을 한다는 점이다.
lux = {'health':490}
lux['health']
인덱스 값 대신 키값을 통해 접근한다.
이 방법대로, 접근을 한다면 여기에 해당 값을 넣을 수도 있다.
lux = {'health':490}
lux['health'] = 500
>>> {'health' : 500}
결과값은 항상 변경 할 수가 있다.
딕셔너리에 값이 있는지 확인하기
키 in 딕셔너리
lux={'health' : 550, 'aa' : 440}
'health' in lux
>>> True
앞에 설명한 in처럼 키의 유무를 파악 할 수가 있다. 이에 따라 True, False가 결정된다.
마찬가지로 not in을 사용하게 될 경우 결과값은 반대가 된다.
딕셔너리 갯수 구하기
a = {'a' : 550, 'b' : 440, 'c' : 330}
len(a)
>>>3
len(딕셔너리)을 사용하면 키와 결과에 대한 개수가 나온다.
딕셔너리
여기서 중요한 점은 키와 결과값은 반드시 1:1 관계로 저장된다는 점이 중요하다.
내가 원하는 검색에 따라 검색 결과를 자유롭게 할 수 있다는 것이다.
'Language > Python' 카테고리의 다른 글
[Python] 리스트 추가하기 (0) | 2020.10.13 |
---|---|
[Python] if 사용하기 (0) | 2020.10.13 |
[Python] 시퀀스 자료 활용하기 (0) | 2020.10.13 |
[Python] 11장 시퀀스 (0) | 2020.10.12 |
[Python] 10장 배열 (0) | 2020.10.12 |