Do it 점프투파이썬_딕셔너리와 set 집합연산자

RostoryT·2022년 7월 22일
0

Brave Python

목록 보기
6/7

딕셔너리 기본

  • 삽입
  • 삭제
# 딕셔너리 생성
a = {}
print(a)

print('--------------------------------------------------------')

# 딕셔너리 삽입
a[7] = "tae"
print(a)
a[5] = "Kim"
print(a)
a['name'] = "peypey"
print(a)
a['arr'] = [1,3,5,7,9]
print(a, "          # -->정렬되지 않는다. 순서X")
print(a['arr'])
print(a['arr'][2])

print('--------------------------------------------------------')

# 딕셔너리 삭제   --> key값으로 삭제하는 것이다..!
del a['name']
print(a)

#del a[0]       # --> ERROR!!
#print(a)

print('--------------------------------------------------------')

딕셔너리 전용 함수 및 딕셔너리 리스트 변환

  • keys
  • values
  • items
  • get
''' 딕셔너리 전용 함수 '''
a = {7: 'tae', 5: 'Kim', 'name': 'peypey', 'arr': [1, 3, 5, 7, 9]}

# Key 리스트 만들기
print(a.keys(), "        #--> 메모리 낭비를 막고자 dict_keys객체로 반환(iter 가능!!)")

for i in a.keys():               # iter 가능!
    print(i)
    
print(list(a.keys()), "                  #--> 리스트로 변환도 가능")
print(list(a.keys())[2], "                                   #--> 특정 키만 추출 가능")

print('--------------------------------------------------------')

# Value 리스트 만들기
print(a.values(), "                 #--> keys와 동일(iter 가능!!)")

print('--------------------------------------------------------')

# Key, Value 리스트 만들기
print(a.items())
#print(a.items()[1])               # 불가
print(a)
#print(a[1])                       # 불가

print('--------------------------------------------------------')

print(list(a.items()), "                        #--> <중요>")
print(list(a.items())[1])
print(list(map(list,a.items())), "                        #--> <중요>")
print(list(map(list,a.items()))[1])

print('--------------------------------------------------------')

print(a.get('5'), "          #--> Key 식별 시 숫자와 문자열 주의하라")
print(a.get(5), "           #--> Key 식별 시 숫자와 문자열 주의하라")

print('--------------------------------------------------------')

# 내가 찾는 key값이 없는 경우 -> 대체하고 싶을 때
print(a.get('5', 'NULL~~~'), "          #--> 대체방법")
print(a.get(5, 'NULL~~~'), "              #--> Key 식별 시 숫자와 문자열 주의하라")

print('--------------------------------------------------------')

# key와 in 관계 (일일히 볼 필요없이 in쓰면됨)
if '5' in a:
    print("YES! \'5\' in a")
else:
    print("No! \'5\' not in a")

SET의 집합연산자

  • 합집합
  • 교집합
  • 차집합

# 딕셔너리 더하기 빼기 (불가)
a = {1:'kim', 2:'tae', 3:'pey'}
b = {1:'kim', 2:'tae', 4:'park'}
#print(a-b)                          #--> 딕셔너리는 이게 불가!! (Counter는 된다)

# set 집합연산자 (중요)
a = set([1,2,3])
b = set([1,2,4])
print(a&b)       # 교집합
print(a|b)       # 합집합
print(a-b)       # 차집합
print(b-a)       # 차집합

print('--------------------------------------------------------')

a.add(5)
print(a)
a.update([6,7,8])
print(a)

print('--------------------------------------------------------')

#del a[1]       # --> del은 안됨
#print(a)

a.remove(5)    # 5라는 값을 삭제함 (인덱스 아님!)
print(a)

profile
Do My Best

0개의 댓글