[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
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • Project N
        • Insty N
        • ERP
      • Cloud
        • NAVER CLOUD Web DevOps
        • Public
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
        • 리눅스마스터
        • AWS
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
  • 블로그 메뉴

    • 홈
    • GitHub
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바