튜플은 변하지 않는다!
a = {'age': 22}
a['name'] = "김제니"
print(a)
del a['age']
print(a)

a = {1: '지수', 2: '제니', 3: '리사'}
print(a.keys())
print(a.values())
print(a.items()) # 반복문에서 많이 쓰임
for v in a.values():
print(v)
for k, v in a.items():
print("키: " + str(k))
print("값: " + v)

a = {1: '지수', 2: '제니', 3: '리사'}
print(a[4]) # 4라는 키가 없어서 오류 출력
print(a.get(4, '없음')) # 4라는 키가 없을 때 '없음' 출력
a = {1: '지수', 2: '제니', 3: '리사'}
print(1 in a) # true
print(4 in a) # false
s1 = set([1,2,3])
# s1 = {1, 2, 3}
print(s1)
l = [1,2,2,3,3]
newList = list(set(l))
print(newList) # 중복된 요소 제거하여 출력
s2 = set("Hello")
print(s2)

s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
# s1과 s2의 교집합 출력
print(s1.intersection(s2)) # {4, 5, 6}
print(s1 & s2) # {4, 5, 6}
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
# s1과 s2의 중복없이 합집합 출력
print(s1.union(s2)) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(s1 | s2) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
# s1과 s2의 차집합 출력
print(s1 - s2) # {1, 2, 3}
print(s2.difference(s1)) # {8, 9, 7}
a = [1, 2, 3, 4]
while a:
a.pop() # 마지막 요소를 제거한 나머지가 남음
print(a) # 전부 제거되면 a는 빈 리스트[]가 됨으로 반복문 정지

a = [1, 2, 3]
b = a # b는 a의 주소를 받음
a[1] = 4
print(a) # [1, 4, 3]
print(b) # [1, 4, 3] > a와 같이 바뀜
print(id(a)) # 1730212078472
print(id(b)) # 1730212078472 > 주소가 a와 같음
# a, b의 주소가 같으므로 같은 곳을 바라 보고 있음
print(a is b) # a가 b와 같은 곳을 바라보고 있느냐 : True
# 같은 주소를 갖는 게 아닌 값을 복사할 때
b = a[:] # 슬라이싱을 이용해서 넣을 때는 값 자체만 복사돼서 들어감
from copy import copy
a = [1, 2, 3]
b = copy(a) # b = a[:] 와 같은 개념
a[1] = 4
print(a) # [1, 4, 3]
print(b) # [1, 2, 3] > 바뀌지 않음
a = 3
b = 5
a,b = b,a
print(a) # 5
print(b) # 3
Q8. (1,2,3) 튜플에 값 4를 추가하여 (1,2,3,4)를 만들어 출력해 보자.
a = (1, 2, 3)
a = a + (4,)
print(a)
a 튜플에 (4, )라는 튜플을 더하면 된다. 단, 이때 만들어지는 a + (4, )의 결과는 a 값이 변경되는 것이 아니라(튜플은 그 값을 변경할 수 없다) 새로운 튜플이 생성되고 그 값이 a 변수에 대입되는 것임에 유념하자.
Q10. 딕셔너리 a에서 'B'에 해당되는 값을 추출해 보자.
a = {'A':90, 'B':80, 'C':70}
print(a['B']) # 80 출력
or
result = a.pop('B')
print(result) # 80 출력
Q11. a 리스트에서 중복된 숫자들을 제거해 보자.
a = [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5]
aSet = set(a) # a 리스트를 집합자료형으로 변환
b = list(aSet) # 집합자료형을 리스트 자료형으로 다시 변환
print(b)
리스트 자료형이 집합 자료형으로 변환되면서 중복된 값들은 사라지게 된다. 이와 같은 성질을 사용하면 리스트 내에 중복된 값을 쉽게 제거할 수 있다.