배워서? 남줘라!
[Python] #4 Dictionary & Set 본문
Dictionary 이란 대응관계를 나타내는 자료형이다. Ex. Key : value 이렇게 한 쌍으로 가짐.
리스트나 튜플과의 차이점 및 특징
1. 원하는 정보를 찾으려고 리스트나 튜플 처럼 각 요소를 다 보지 않고 사전처럼 타겟하는 곳(key)만 찾아서 원하는 정보만을 볼 수 하는 기능. → Key값을 가지고 value를 불러올 수 있다.
2. 인덱싱 사용 불가.
3. Key는 값이 변할 수 없고, value는 변할 수 있다. (Key에는 리스트를 사용할 수 없고 튜플은 사용 가능.) (value에는 리스트도 사용 가능)
Set(집합) 자료형.
순서가 없고 중복 허용 안한다.
예시
#python4_Dictionary
a={2:'name', 'cc':[2,5]} # 딕셔너리 형태 key:value. 정수, 문자열, 리스트 등
a[3]='dd' #a라는 딕셔너리에 5:dd 쌍 추가
a
a['NAME']='dog' #a라는 딕셔너리에 NAME:dog 쌍 추가
a
del a[2] #a라는 딕셔너리에서 key가 2인 딕셔너리 쌍 삭제
a
a['NAME'] #Key가 NAME인 value 값 반환1
a.get('NAME') #Key가 NAME인 value 값 반환2
a.clear() #a라는 딕셔너리 안의 요소 삭제
b=dict() #비어있는 딕셔너리 생성.
b
{2: 'name', 'cc': [2, 5], 3: 'dd'}
{2: 'name', 'cc': [2, 5], 3: 'dd', 'NAME': 'dog'}
{'cc': [2, 5], 3: 'dd', 'NAME': 'dog'}
dog
dog
{}
{}
b={2:'name', 'cc':[2,5], 'phone':'number'}
#key값 반환
b.keys() #b 딕셔너리의 key 값들만 반환1
for k in b.keys(): #b 딕셔너리의 key 값들만 반환2
print(k)
list(b.keys()) #b 딕셔너리의 key 값들만 반환3 (리스트형태로)
#value 값 반환
b.values()
#key:value 쌍 반환
b.items()
'cc' in b #b라는 딕셔너리에 'cc'라는 key가 딕셔너리 안에 있는지
dict_keys([2, 'cc', 'phone'])
2
cc
phone
[2, 'cc', 'phone']
dict_values(['name', [2, 5], 'number'])
dict_items([(2, 'name'), ('cc', [2, 5]), ('phone', 'number')])
True
#python4_Set
a=set("Hwaiting")
a
list1=list(a) #a라는 set을 리스트로 변환
tuple1=tuple(a) #a라는 set을 튜플로 변환
a1=set([1,2,3,4])
a2=set([3,4,5,6])
#교집합1
a1 & a2
#교집합2
a1.intersection(a2)
#합집합1
a1|a2
#합집합2
a1.union(a2)
#차집합1
a1-a2
#차집합2
a1.difference(a2)
#값1개 추가
a1.add(7)
a1
#값 여러개 추가
a2.update([11,22])
a2
#특정 값 제거
a1.remove(1)
a1
{'H', 'a', 'g', 'i', 'n', 't', 'w'}
{3, 4}
{3, 4}
{1, 2, 3, 4, 5, 6}
{1, 2, 3, 4, 5, 6}
{1, 2}
{1, 2, 3, 4, 7}
{3, 4, 5, 6, 11, 22}
{2, 3, 4, 7}
<참고>
박응용 저, Do it! 점프 투 파이썬, 이지스퍼블리싱, 2019
'Computer languages > Python' 카테고리의 다른 글
[Python] #6 if, while, for (0) | 2022.10.09 |
---|---|
[Python] #5 Bool & Variables (0) | 2022.10.07 |
[Python] #3 List & Tuple (1) | 2022.10.06 |
[Python] #2 Number & String data type (1) | 2022.10.06 |
[Python] #1 IDLE (0) | 2022.10.04 |
Comments