1️⃣ 튜플
: 튜플은 항목의 값을 삭제하거나 변경하는 것이 불가능하다.
➰튜플 생성하기
>>> t1 = ()
>>> t2 = (1,) #요소가 한 개 일때는 콤마를 붙여줘야함
#안 붙일 경우 int형이 됨
>>> t3 = (1, 2, 3)
>>> t4 = 1, 2, 3
>>> t5 = ('a', 'b', ('ab', 'cd'))
➰ 튜플 인덱싱, 슬라이싱 (리스트와 동일)
>>> t = 1, 2, 3, 4, 5, 6, 7
>>> t[1:3]
(2, 3)
>>> t[:4]
(1, 2, 3, 4)
>>> t[-1]
7
➰ 튜플 연산
>>> t = 1, 2, 3
>>> tt = 4, 5, 6
>>> t * 3
(1, 2, 3, 1, 2, 3, 1, 2, 3)
>>> t + tt
(1, 2, 3, 4, 5, 6)
>>> len(t)
3
2️⃣ 딕셔너리
: 딕셔너리의 요소는 key:value 쌍으로 이루어짐, key는 고유한 값으로 중복되면 안됨
➰딕셔너리 생성
>>> dic = {'name':'jiyoon', 'phone':'01033334444', 'birth':'0101'}
>>> dic2 = {'house':['gangnam','gangbuk','jeju']}
>>> dic2 = {'house':('gangnam','gangbuk','jeju')}
#value에는 리스트, 튜플도 넣을 수 있다. key에는 불가능
➰ 딕셔너리 추가, 삭제
>>> jiyooni = {'name':'jiyoon', 'blog':['tistory','naver']}
>>> jiyooni['blog']
['tistory', 'naver']
>>> jiyooni['name']
'jiyoon'
➰ 딕셔너리의 키,밸류 사용하기
#파이썬 2.7까지는 dict_keys가 아닌 list를 반환
#파이썬 3.0이후부터 dict_keys를 반환
#dict_keys는 기본적인 iterate 구문에 사용가능
>>> jiyooni.keys()
dict_keys(['name', 'blog'])
#리스트로 반환받고 싶으면 아래처럼
>>> list(jiyooni.keys())
['name', 'blog']
>>> jiyooni.values()
dict_values(['jiyoon', ['tistory', 'naver']])
#각 키밸류쌍을 튜플로 묶어서 반환해준다.
>>> jiyooni.items()
dict_items([('name', 'jiyoon'), ('blog', ['tistory', 'naver'])])
#딕셔너리 안의 값들 전부 삭제
>>> jiyooni.clear()
>>> jiyooni
{}
➰딕셔너리 key로 value 가져오기
get과 인덱싱의 차이는 존재하지 않는 키를 접근할 때 get은 None을 반환하지만 인덱싱의 경우 에러를 출력한다.
>>> dic = {1:5, 2:6, 3:7, 4:8}
>>> dic.get(1)
5
>>> dic.get(5)
>>> dic[5]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 5
#키가 없을 경우 정해진 디폴트 값을 리턴하고 싶을 때
>>> dic.get(5, 0)
0