티스토리 뷰

프로그래밍

[파이썬] 딕셔너리

금전 2018. 8. 13. 20:17

[파이썬] 딕셔너리

딕셔너리는 쌍 2개가 하나로 묶인 자료구조다.

apple:'사과' 처럼 의미있는 두 값을 연결해서 구성한다.

딕셔너리는 여러 정보를 하나의 변수를 표현할 때 사용된다.

예를 들면 다음과 같은 정보가 있다고 가정하자.

 

키  

값 

학번

1000 

이름 

홍길동 

학과 

컴퓨터공학과 

 

 

1. 딕셔너리의 생성

 

 

딕셔너리는

 

딕셔너리변수 = {키1:값1, 키2:값2, 키3:값3, ...}

 

다음과 같이 구성한다. Key와 Value의 쌍으로 구성되어 있다.

 

 

주의할 점은 딕셔너리는 순서가 없다는 것이다.

생성한 순서대로 딕셔너리가 구성되어 있지 않다.

 

 

앞서 예를 든 정보를 딕셔너리로 표현하면 다음과 같다.

 

student = {'학번':1000, '이름':'홍길동', '학과':'컴퓨터공학과'}
print(student)

출력결과 :

{'학번': 1000, '이름': '홍길동', '학과': '컴퓨터공학과'}

 

 

 

2. 딕셔너리 추가

 

student['연락처'] = '010-1234-1234'

 

3. 딕셔너리 삭제

딕셔너리의 쌍을 삭제하려면 del(딕셔너리명[키]) 형식으로 삭제한다.

 

student = {'학번':1000, '이름':'홍길동', '학과':'컴퓨터공학과'}
print(student)

student['연락처'] = '010-1234-1234'
del(student['학과'])
print(student)
{'학번': 1000, '이름': '홍길동', '학과': '컴퓨터공학과'}
{'학번': 1000, '이름': '홍길동', '연락처': '010-1234-1234'}

 

 

4. 딕셔너리 사용

딕셔너리를 사용하려면 키를 이용해 값을 구한다.

 

student['학번'] 
student.get('학번')

두 코드의 결과값은 모두 '홍길동'이다.

 

하지만 위에 코드를 사용할 경우, 없는 키를 호출한다면 에러가 발생한다.

get 함수를 사용하면 아무것도 반환하지 않는다.

없는 키에 접근할 경우 아래 코드를 사용하는 것이 바람직하다.

 

# 딕셔너리의 모든 키 반환
student.keys()

# 딕셔너리의 모든 키를 튜플 형태로 구할 경우
student.items()

# 딕셔너리의 모든 값을 리스트로 반환하는 함수
student.values()

# 딕셔너리 안에 해당 키 존재여부를 확인할 경우
'키 이름' in 딕셔너리명

 

5. 딕셔너리 정렬

딕셔너리 안에는 순서가 없다. 키를 사용해 값을 추출하기 때문에 순서의 필요성이 없기 때문이다.

하지만 필요에 따라 딕셔너리를 정렬해야 할 때도 있다.

딕셔너리를 정렬하는 방법은 다음 코드와 같다.

 

하지만 sorted 함수를 사용할 경우 결과가 튜플로 변경되어 리스트의 형태로 출력된다.

fruit_dic = {'사과':2000, '':3000, '딸기':1000}
fruit_list = []
print(fruit_dic)


fruit_list = sorted(fruit_dic.items(), key=lambda x: x[1])
print(fruit_list)

출력결과

{'사과': 2000, '배': 3000, '딸기': 1000}
[('딸기', 1000), ('사과', 2000), ('배', 3000)]

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함