구조는 JavaScript의 객체와 유사합니다.
키: 값 형식
사전 데이터 유형은
목록이나 튜플에서와 같이 요소 값을 순차적으로 가져오는 대신 키로 값에 액세스합니다.
건설)
{키1: 값1, 키2: 값2, 키3: 값3}
키에는 중복 값이 없습니다!!!!!!!!!
훈련
dic = {'name': 'green', 'phone': '01012341234', 'age': 30}
dic2 = {1: 'a', 2: 'b', 3: 'c'}
속성 추가
dic('isJob') = True
print(dic)
#{'name': 'green', 'phone': '01012341234', 'age': 30, 'isJob': True}
가치 액세스
print(dic('name'))
#green
항목 삭제
del dic('phone')
print(dic)
#{'name': 'green', 'age': 30, 'isJob': True}
dic2(4) = 'd'
print(dic2)
#{1: 'a', 2: 'b', 3: 'c', 4: 'd'}
dic3 = {'name': 'G', 'age': 30, 'name': 'b'}
print(dic3)
#{'name': 'b', 'age': 30}
사전 관련 기능
1. 키목록 키 생성()
건설)
사전.키()
Python 2.7까지는 키만 목록으로 반환됩니다.
그런 다음 dict_keys 객체로 반환됩니다.
dic3 = {'name': 'G', 'age': 30, 'name': 'b'}
dic3key = dic3.keys()
print(type(dic3key))
print(dic3key)
#<class 'dict_keys'>
#dict_keys(('name', 'age'))
2. 리스트 타입으로 변환 list()
dic3 = {'name': 'G', 'age': 30, 'name': 'b'}
dic3key = dic3.keys()
dic3keylist = list(dic3key)
print(dic3keylist)
#('name', 'age')
3. 값 목록 values() 만들기
건설)
사전.값()
Python 2.7까지는 값만 목록으로 반환
그 후 dict_values 객체로 반환됩니다.
dic3 = {'name': 'G', 'age': 30, 'name': 'b'}
dic3value = dic3.values()
print(list(dic3value))
#('b', 30)
4. 키-값 쌍(항목) 얻기
키와 값 쌍의 튜플을 dict_items 객체로 반환합니다.
dic3 = {'name': 'G', 'age': 30, 'name': 'b'}
dic3item = dic3.items()
print(list(dic3item))
#(('name', 'b'), ('age', 30))
5. 모든 키 지우기: 값 쌍 clear()
건설)
사전.클리어()
dic3 = {'name': 'G', 'age': 30, 'name': 'b'}
dic3.clear()
print(dic3)
#{}
6. 키 get()으로 값 가져오기
건설)
사전.get(키)
사전(키)
차이점:
존재하지 않는 키에 접근하면 딕셔너리(키)에 키 오류가 발생한다.
누락된 키로 호출하면 dictionary.get(key)는 None을 반환합니다.
dic4 = {'name': '구름', 'age':3, 'color': 'white'}
print(dic4.get('name'))
print(dic4.get('age'))
#구름
#3
기본값 지정
건설)
get(키, 기본값)
print(dic4.get('a', 'aaa'))
#aaa
7. 키가 사전에 있는지 확인
건설)
사전에 ‘key’가 있으면 true를 반환하고 없으면 false를 반환합니다.
dic4 = {'name': '구름', 'age':3, 'color': 'white'}
print('name' in dic4)
print('a' in dic4)
#True
#False
![[Python] BanDal 컴파일러 [Python] BanDal 컴파일러](https://cafe.dailygagu.kr/wp-content/plugins/contextual-related-posts/default.png)