별의 공부 블로그 🧑🏻‍💻
728x90
728x170

딕셔너리(Dictionary)

딕셔너리(Dictionary)

  • 쌍 2개가 하나로 묶인 자료구조
    • 의미 있는 두 값을 연결하여 구성한다.
  • 중괄호({ })를 묶어 구성하며, 키(Key)값(Value)의 쌍으로 구성되어 있다.
딕셔너리변수 = {키1:값1, 키2:값2, 키3:값3, ...}

 

딕셔너리 생성

방법 1 : '' : '' 형식으로 생성하기
dict1 = {1 : 'a', 2 : 'b', 3 : 'c'}

 

방법 2: '' : '' 형식으로 생성하기
dict2 = {'a' : 1, 'b' : 2, 'c' : 3}

 

  • 은 사용자가 지정하는 것이지 어떤 값을 반드시 사용해야 한다는 규정은 없다.
  • 딕셔너리에는 순서가 없어 생성한 순서대로 딕셔너리가 구성되어 있다는 보장을 할 수 없다는 점에 주의한다.
  • 딕셔너리는 여러 정보를 변수 하나로 표현할 때 유용하다.
student1 = {'학번' : 1000, '이름' : '홍길동', '학과' : '컴퓨터과학과'}

 

  • 딕셔너리 는 유일해야 하므로, 다음 코드를 작성하면 동일한 를 갖는 딕셔너리를 생성하는 것이 아니라 마지막에 있는 가 적용된다.
student1 = {'학번' : 1000, '이름' : '홍길동', '학과' : '컴퓨터과학과', '학번' : 2000}    # '학번' 을 중복하여 입력
student1
더보기
{'학번': 2000, '이름': '홍길동', '학과': '컴퓨터과학과'}

 

 

쌍 추가하기

딕셔너리이름[키] = 값

 

예 : '연락처' 추가하기
student1['연락처'] = '010-1234-5678'
student1
더보기
{'학번': 1000, '이름': '홍길동', '학과': '컴퓨터과학과', '연락처': '010-1234-5678'}

 

 

  • 이미 존재하는 를 사용하면 새로운 쌍이 추가되는 것이 아니라 기존 이 변경된다.
    • 딕셔너리 특성상, 는 유일해야 하기 때문이다.

 

쌍 삭제하기

del(딕셔너리이름[키])

 

예 : '학과' 삭제하기
del(student1['학과'])
student1
더보기
{'학번': 1000, '이름': '홍길동', '연락처': '010-1234-5678'}

 

 

딕셔너리 사용

  • 딕셔너리는 를 사용하여 을 구한다.

 

①  ''로 ''에 바로 접근하기

예 : 에 접근하기
student1['학번']
student1['이름']
student1['학과']
더보기
2000
'홍길동'
'컴퓨터과학과'

 

 

② get() 함수 사용하기

딕셔너리이름.get(키)
  • 딕셔너리이름[] 딕셔너리이름.get() 는 결과가 같다.
    • 딕셔너리이름[] 없는 를 호출하면 오류(KeyError)가 발생한다.
    • 딕셔너리이름.get() 없는 를 호출하면 아무것도 반환하지 않는다.
      • 없는 를 찾을 때가 있으면, 이 방법을 사용하는 것이 바람직하다.

 

예 : get() 함수를 사용하여 에 접근하기
student1.get('이름')
더보기
'홍길동'

 

③ keys() 함수 사용하기

딕셔너리이름.keys()
  • 딕셔너리의 모든 를 반환한다.

 

예 : keys() 함수를 사용하여 모든  반환하기 
student1.keys()
더보기
dict_keys(['학번', '이름', '연락처'])

 

  • 실행 결과의 dict_keys 를 가리고 싶으면 list(딕셔너리이름.keys()) 함수를 사용한다.
예 : list() 함수를 사용하여 keys() 함수의 실행 결과 중 'dict_keys' 가리기
list(student1.keys())
더보기
['학번', '이름', '연락처']

 

④ values() 함수 사용하기

딕셔너리이름.values()
  • 딕셔너리의 모든리스트로 만들어 반환한다.
  • 실행 결과의 dict_values를 가리고 싶으면 list(딕셔너리이름.values()) 함수를 사용한다.

 

예 : values() 함수를 사용하여 모든 을 리스트로 만들어 반환하기
student1.values()
더보기
dict_values([1000, '홍길동', '010-1234-5678'])

 

 

⑤ items() 함수 사용하기

딕셔너리이름.items()
  • 딕셔너리의 모든   튜플로 만들어 반환한다.

 

예 : items() 함수를 사용하여 모든  을 튜플로 만들어 반환하기
student1.items()
더보기
dict_items([('학번', 1000), ('이름', '홍길동'), ('연락처', '010-1234-5678')])

 

 

⑥ in 사용하기

키 in 딕셔너리이름
  • 딕셔너리 안에 해당 가 있는지 확인한다.
  • 딕셔너리에 가 있다면 True를, 없으면 False를 반환한다.

 

예 : in을 사용하여 딕셔너리 안에 해당가 있는지 확인하기
'이름' in student1
'주소' in student1
더보기
True
False

 

 

사용 예

singer = {}

singer['이름'] = '트와이스'
singer['구성원 수'] = 9
singer['데뷔'] = '서바이벌 식스틴'
singer['대표곡'] = 'SIGNAL'

for k in singer.keys():
    print('%s --> %s' % (k, singer[k]))
더보기
이름 --> 트와이스
구성원 수 --> 9
데뷔 --> 서바이벌 식스틴
대표곡 --> SIGNAL

 

 

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖