04_딕셔너리
딕셔너리- 고유한 키를 지정한다.
- 키 값은 대부분 문자열이지만, 불변하는 파이썬의 어떤 타입(부울, 정수, 부동소수점수, 튜플 등등)이 될 수 있다.
딕셔너리 생성하기 : {}
- 딕셔너리를 생성하기 위해서는 중괄호 안에 키:값 쌍을 지정한다.
- 빈 딕셔너리 만들기
1 | empty_dict = {} | cs |
딕셔너리로 변환하기 : dict()
- 두 값으로 이루어진 시퀀스를 딕셔너리로 변환할 수 있다.
- 각 시퀀스의 첫번째 항목은 키, 두번째 항목은 값으로 사용된다.
1 2 | test = [ ['a', 'b'], ['c', 'd'], ['e', 'f'] ] print(dict(test)) | cs |
항목 추가/변경하기 : key
- 딕셔너리에 항복을 추가할 때는 키에 의해 참조되는 항목에 값을 할당하면 된다. 만약에 키가 존재한다면 그 값은 새 값으로 대체되고, 키가 존재하지 않으면 새 값이 키와 딕셔너리에 추가된다.
- 딕셔너리 키들은 반드시 유일해야한다.
1 2 | test = { 'one' : '1', 'three' : '3', 'four' : '4', 'five' : '5', } print(test) | cs |
- two 가 빠져있는 관계로 추가를 해준다.
1 2 | test['two'] = '2' print(test) | cs |
1 2 3 4 5 | test = { 'one' : '1', 'two' : '2', 'three' : '4' } others = { 'three' : '3', 'four' : '4', 'five' : '5' } test.update(others) print(test) | cs |
키와 del로 항목 삭제하기
- del 키워드와 함께 key를 이용하면 삭제가 가능하다.
1 2 3 | test = { 'one' : '1', 'two' : '2' } del test['two'] print(test) | cs |
모든 항목 삭제하기 : clear()
- 딕셔너리에 있는 키와 값을 모두 삭제하기 위해서는 clear()를 사용하거나 빈 딕셔너리 {}를 할당하면 된다.
1 2 3 4 5 6 7 8 | test = { 'one' : '1', 'two' : '2', 'three' : '3' } print(test) test.clear() print(test) test = { 'one' : '1', 'two' : '2', 'three' : '3' } test = {} print(test) | cs |
in으로 키 멤버십 테스트
- 딕셔너리에 키가 존재하는지 알고 싶다면 in을 사용한다.
1 2 | test = { 'one' : '1', 'two' = '2', 'three' = '3' } print('three' in test) | cs |
항목 얻기 : key
- 기존 딕셔너리의 값을 알기 위해서는 그냥 키값을 이용해 값을 얻어왔다. 하지만 그렇게 얻을 경우 예외 사항(없을 경우)이 발생할 수 있다. 따라서, in을 통해 존재하는지 확인하고 얻어오는 방법도 있고, get()을 통해 얻어올 수도 있다.
1 2 | test = { 'one' : '1', 'two' : '2', 'three' : '3' } print(test.keys()) | cs |
모든 값 얻기 : values()
- 딕셔너리의 모든 값을 가져오기 위해서는 values()를 사용한다.
1 2 | test = { 'one' : '1', 'two' : '2', 'three' : '3' } print(list(test.values())) | cs |
1 2 | test = { 'one' : '1', 'two' : '2', 'three' : '3' } print(list(test.items())) | cs |
1 2 3 4 | test = { 'one' : '1', 'two' : '2', 'three' : '3' } save_test = test test['four'] = '4' print(save_test) | cs |
그러므로 딕셔너리의 키와 값을 또 다른 딕셔너리로 복사하기 위해서는 위와 같이 할당하지 않고 copy() 사용한다.
1 2 3 4 | test = { 'one' : '1', 'two' : '2', 'three' : '3' } original_test = test.copy() test['four'] = '4' print(original_test) | cs |
- 기존 데이터를 original에 복사 해놓고, 딕셔너리를 변경해도 복사된 딕셔너리는 영향을 받지 않는다.
'Python' 카테고리의 다른 글
05_셋 (0) | 2018.01.28 |
---|---|
03_튜플 (0) | 2017.12.30 |
02_리스트 (0) | 2017.12.17 |
01_파이 재료 : 숫자, 문자열, 변수 (0) | 2017.12.10 |
00_Python 시작하기(설치) (0) | 2017.11.15 |