Python

파이썬(Python) 딕셔너리

eloyb 2024. 11. 30. 22:31

이번에 다룰 주제는 딕셔너리(Dictionary) 데이터 형식입니다. 이전에 리스트와 튜플에 대해서 다루었는데 딕셔너리 데이 터는 리스트와 튜플처럼 순차적으로 해당 요소의 값을 찾는 것이 아니고 키와 값으로 결합하여 데이터를 구성하게 됩니다. 참고서 같은 책의 마지막을 보면 보통 색인이 만들어져 있습니다. 이런 색인을 이용하면 원하는 항목을 쉽게 찾을 있 는 것처럼 딕셔너리는 항목을 접근할때 책의 맨 마지막에 있는 부록처럼 접근할 수 있는 요소를 제공해 주게 됩니다. 나이

=30, =180, 혈액형=AB 같이 요소에 대응하는 경우도 딕셔너리 데이터 형식으로 사용된다고 있습니다. 그러 면 파이썬에서는 어떻게 딕셔너리 데이터를 표현할까요? 파이썬에서 딕셔너리 데이터를 표현하려면 {} 사용하여 데이 터를 표현하게 됩니다.

>>> students = {'이름': '이시영', '나이': 21, '성별': '', '주소': '서울'} >>> students['이름'] '이시영' >>> students['이름'] + ' ' + students['주소'] + '에 산다' '이시영은 서울에 산다' >>>

위와 같이 딕셔너리 데이터는 키와 값의 쌍으로 데이터를 표현합니다. 딕셔너리 데이터를 출력하려면 키값을 이용해서 데 이터를 출력해 줍니다.

리스트에서는 인덱스를 이용하여 데이터를 접근하기 때문에 순서를 바꾸면 다른 데이터로 인식되지만 딕셔너리 데이터는 순서를 바꾸어도 값만 같다면 똑같은 데이터로 인식됩니다.

>>> students = {'이름': '이시영', '나이': 21, '성별': '', '주소': '서울'} >>> teacher = {'주소': '서울', '이름': '이시영', '성별': '', '나이': 21} >>> students == teacher True >>>

딕셔너리 데이터는 keys() 메서드를 이용해서 키값을, values() 메서드를 이용해서 값을, items() 메서드를 이용해서 키와 값을 출력할 수 있습니다.

>>> students = {'이름': '이시영', '나이': 21, '성별': '', '주소': '서울'} >>> for i in students.keys(): print(i) # Enter 두번 입력해야 합니다. 이름 나이 성별 주소 >>> for i in students.values(): print(i) # Enter 두번 입력해야 합니다. 이시영 21 여 서울 >>> for i in students.items(): print(i) # Enter를 두번 입력해야 합니다. ('이름', '이시영') ('나이', 21) ('성별', '') ('주소', '서울') >>>

딕셔너리 데이터에서 키와 값을 별도의 변수에 할당해서 출력하려면 for 반복문에서 다중 할당을 사용할 수 있습니다.

>>> students = {'이름': '이시영', '나이': 21, '성별': '', '주소': '서울'} >>> for i, j in students.items(): print('Key: '

+ i + ' value: ' + str(j)) #Enter 두번 입력해야 합니다. Key: 이름 value: 이시영 Key: 나이 value: 21 Key: 성별 value: Key: 주소 value: 서울 >>>

딕셔너리 데이터에서 키값이 없을 경우 없는 키를 사용하게 되면 오류가 발생합니다. 이런 오류를 방지하기 위해서 get() 메서드를 이용하면 키값이 있는 지 사전에 체크를 할 수 있습니다.

>>> students = {'이름': '이시영', '나이': 21, '성별': '', '주소': '서울'} >>> '이시영의 나이는 ' + str(students.get('나 이', 0)) + ' 입니다.' '이시영의 나이는 21 입니다.' >>> '이시영의 몸무게는 ' + str(students.get('몸무게', 0)) + ' 입니.' '이시영의 몸무게는 0 입니다.' >>>

in, not in 연산자를 이용하여 키 또는 값이 존재하는 지를 체크할 수 있습니다.

>>> students = {'이름': '이시영', '나이': 21, '성별': '', '주소': '서울'} >>> '이름' in students.keys() True >>> '이시 영' in students.values() True >>> '몸무게' not in students.keys() True >>> '몸무게' in students False >>> 딕셔너리 데이터에 키와 값을 추가하려면 변수 [] = 과 같이 사용하면 되고, 키와 값을 삭제하려면 del 변수[] 처럼

사용하면 키와 값이 같이 삭제됩니다. 키만 삭제하면 따라오는 값은 자동적으로 삭제되니 따로 값을 삭제할 필요는 없습니 .

>>> students = {'이름': '이시영', '나이': 21} >>> students['성별'] = '' >>> students {'이름': '이시영', '나이': 21,

'성별': ''} >>> del students['성별'] >>> students {'이름': '이시영', '나이': 21} >>>

'Python' 카테고리의 다른 글

파이썬 정규식 01  (0) 2024.12.21
파이썬 문자열 다루기  (0) 2024.12.21
파이썬(Python) 리스트 02  (1) 2024.11.30
파이썬(Python) 리스트 01  (0) 2024.11.30
파이썬(Python) 스무고개 프로그램  (0) 2024.11.30