[PYTHON] dictionary

2023. 6. 30. 09:58·PYTHON

Dictionary(사전형)
 - 데이터를 구분짓기 위한 값을 index대신 key를 두고
   key를 통해서 value값을 가져오는 형식
 - key와 value 를 1:1한쌍으로 데이터를 저장하는 저장소
 - value값은 key값을 통해서만 접근이 가능하다

※ 웹에서 기본적으로 데이터를 주고받는 형식

생성
 - {}를 이용해서 생성한다
 - 데이터를 넣기 위해서는 key와 value 값을 같이 입력하여야 한다

 - 형식
  변수명 = {key:value , key:value , key:value ~ }

 - 호출
  변수명[key]

 


dic = { 'a' : 1, 'b' : 2,'c' : 3}

print(type(dic))

print(dic)
print(dic.__len__())
print(len(dic))

print(dic['a'])

for key in dic:
    print(key," - ",dic[key])

dictionary는 tuple과 다르게 데이터 변경이 가능하기 때문에 

 

# None == NULL , null
# - 없는 값


a = None # a라는 변수에 아무값이 없다
print(a)
print(type(a))


dic = {'a':1,'b':2,'c':3}

# Dictionary 함수
#  - update(dict) - 사전형자료에 값을 추가한다
#  - key값이 같으면 value값을 수정하고 ,key값이 없으면 추가를 한다

dic.update({'a':0})
dic.update({'d':4 , 'e' : 5}) # 여러개 추가 가능
dic.setdefault('b',1) # 하나만 추가 가능하고 같은 키값이면 아무런 일이 일어나지 않는다
print(dic)

#  - fromkeys(iter, value) - 리스트,튜플에 존재하는 값을 키로 사전형자료를 생성하여 반환한다
# ls = [1,2,3,4]
# print(dic.fromkeys(ls,(1,2,3,4)))

#  - get(key) - 사전형의 키를 통해값을 반환한다
#  - key값이 없으면 None을 반환 한다
#  - 뒤에 value값을 적으면 key값이 없을때 value값을 반환 한다
print(dic.get('a')) # == dic['a']
print(dic.get('f'))
print(dic.get('f',1))

#  - keys() - 사전형의 모든키를 반환한다
#   - 리스트나 튜플타입으로 변환하여 사용이 가능하다
print(dic.keys())

key = dic.keys()

for i in key:
    print(i)

# print(key[0])

key = list(key)

print(key[0])

#  - values() - 사전형의 모든값을 반환한다
#   - 사전형의 기본 모토에 벗어나므로 잘 사용되지 않는다
#   - 리스트나 튜플타입으로 변환 하여 사용가능
print(dic.values())

value = dic.values()

for v in value:
    print(v)

#value[0]

#  - items() - 사전형의 모든키-값의 쌍을 튜플로 반환한다
print(dic.items())

it = dic.items()

for k,v in it:
    print(k,v)

#  - pop(key) - 사전형의 키를 통해 값을 반환 후 삭제한다
#  - key 값이 있으면 삭제 , 없으면 error 발생
print(dic.pop('e'))

print(dic)

#  - popitem() - 사전형의 키-값의 쌍을 튜플로 반환 후 삭제한다
#                제일 마지막 데이터
print(dic.popitem())

print(dic)

#  - clear() - 사전형의 모든키-값을 삭제하여 빈 사전형 자료만 남긴다
dic.clear()

print(dic)

 

추가, 수정, 삭제가 가능하다

 


 

예시로는

 

dl = {'음료':['탄산', '과일', '우유', '물'],
'식사':['김밥', '라면', '돈까스', '비빔밥']}


# 머릿속에 데이터 구조가 있어야 한다
# 변수명부터 순차적 접근

for key in dl:
    print(key,end=" : ")
    #print(type(dl[key]))
    for i in range(dl[key].__len__()):
        print(dl[key][i],end=" ")
    print()

 

출력물

 

저작자표시 (새창열림)

'PYTHON' 카테고리의 다른 글

[PYTHON] 클래스(Class)  (0) 2023.07.03
[PYTHON] 디폴트 매개변수  (0) 2023.07.03
[PYTHON] list와 tuple  (0) 2023.06.29
[PYTHON] import time 관련 예제  (0) 2023.06.29
[PYTHON] 클래스(String)  (0) 2023.06.29
'PYTHON' 카테고리의 다른 글
  • [PYTHON] 클래스(Class)
  • [PYTHON] 디폴트 매개변수
  • [PYTHON] list와 tuple
  • [PYTHON] import time 관련 예제
whkim98
whkim98
꾸준히 내 것으로 만드는 게시글을 작성하자
  • whkim98
    내 일기장
    whkim98
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • Project
        • Insty
        • ERP
      • Cloud
        • NAVER CLOUD Web DevOps
        • Public
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
        • 리눅스마스터
        • AWS
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
      • DevOps
  • 블로그 메뉴

    • 홈
    • GitHub
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    js
    RDBMS
    AWS
    javascript
    django
    gitbash
    github
    node
    해시 암호화
    CORS
    SQLD
    Tomcat
    web
    코딩
    정보처리기사
    git
    Cloud
    annotation
    React
    Postman
    eGov
    Python
    Java
    spring
    jsp
    AdSP
    html
    코딩테스트
    코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
whkim98
[PYTHON] dictionary
상단으로

티스토리툴바