본문 바로가기
Python_Wiki/Python_Syntax

(비순서)자료형(data type) - 딕셔너리

by yj-data 2025. 5. 27.

딕셔너리(dictionary)

- 순서를 가지지 않는 객체 쌍(key&value)

  • 대응 관계를 나타내기 위해 사용, 키 기반으로 값을 저장
  • create
    • { }로 선언, "키:값"형태를 쉼표로 연결 / {key1:value1, key2:value2,...}
    • 키는 문자열, 숫자, 부울 등으로 선언 - 일반적으로 키는 문자열을 사용
    • zip: 
      • keys = ("a", "b")
        values = (1,2)
        result = dict(zip(keys, values))
        print(result)  #{'a': 1, 'b': 2} (리스트 리스트를 묶어도 됨)
  • read: [ ]안에 key를 입력해서 요소에 접근 
  • update
    • 변수[키] = [값] (추가, 수정 동일한 방법)
    • 잘 안쓰지만, 여러개 업데이트 하는 법. 키가 같으면 값이 업데이트, 없는 키면 새로 넣어줌.
    • person = {"name": "Alice", "age": 25}
      person.update({"city": "New York", "age": 26})
      print(person)   => {'name': 'Alice', 'age': 26, 'city': 'New York'}
  • delete
    • del 변수[키]
  • 함수
    • .keys(): key 리스트 만들기
    • .values(): value 리스트 만들기
    • .items(): key, value 쌍 얻기
    • .get(): key로 value 얻기  // .get(value값, value없을때 값) 넣으면 오류 시 'value 없을때 값'이 호출됨
    • in(): 해당 key가 딕셔너리 안에 있는지 조사 - True / False로 출력
      • e.g. 요소 in 변수 - "job" in myDictionary
    • clear(): key, value 쌍 모두 지우기 - 변수 내용 전체 삭제
      • 변수.clear()
    • (잘 안쓰지만) .pop()
      • person = {"name": "Alice", "age": 25}
        age = person.pop("age")

        print(age)  => 25
        print(person)  => {'name': 'Alice'}
    • for문 사용
      dic = {'name':'Merry', 'num':1, 'birth':'jan'}
      for k, v in dic.items():
          print(k, ':', v) 
        # name : Merry
           num : 1
           birth : jan
    •