[파이썬] 튜플, 딕셔너리

osdsoonhyun·2022년 1월 27일
0

파이썬

목록 보기
3/10
post-thumbnail

리스트를 쓰는 이유?

여러 변수들을 관리하기 힘드니 하나의 서랍장으로 관리하겠다

리스트와 튜플은 거의 똑같다

둘의 차이점은?

리스트는 [대괄호] , 변경가능(추가,삭제,변경)
튜플은 (소괄호) , 변경불가능

a=[1,2,3] //리스트
b=(1,2,3) //튜플

튜플 요소값 삭제 시 오류

>>> t1=(1,2,'a','b')
>>> del t1[0]
Traceback (innermost last)
File "", line 1 in ? del t1[0]
TypeError: object doesn't support item deltion

튜플은 고정되어 추가,삭제,변경은 안되나 보는 것은 된다

인덱싱

>>> t1=(1,2,'a','b')
>>> print(t1[0])
1
>>> print(t1[3])
'b'

슬라이싱

>>> t1 = (1,2,'a','b')
>>> print(t1[1:]
(2,'a','b')

딕셔너리

사전적 의미로 사전을 의미하는 딕셔너리, 단어를 키로하여 어떤 값이 있는 자료구조라고 할 수 있다

딕셔너리 자료형

  • 연관 배열(Associative array) 또는 해시(Hash)
  • 단어 그대로 해석하면 사전이라는 뜻
  • Key를 통해 Value를 얻는다
>>> dic = {'name': 'pey','phone': '0123456789','birth': '1225'

딕셔너리 쌍 추가하기

Key와 Value로 이루어져있다

>>> a = {1: 'a'}
>>> a[2] = 'b'
>>> print(a)
{2: 'b', 1: 'a'}

딕셔너리 요소 삭제하기

>>> del a[1]
>>> print(a)  
{2: 'b'}

딕셔너리에서 Key 이용해 Value 얻기

>>> grade = {'pey' : 10, 'julliet': 99}
>>> print(grade['pey'])
10
>>> print(grade['julliet'])
99

딕셔너리 만들 때 주의할 사항

Key와 Value가 겹치면 안된다 Value는 같아도 되나 Key는 중복되면 안된다

>>> a = {1:'a', 1:'b'}
>>> print(a)
{1: 'b'} // 마지막 key와 value가 남는다

딕셔너리는 Key가 핵심

Key 리스트 만들기(keys)

>>> a = {'name': 'pey', 'phone': '0123456789', 'birth':'1225'}
>>> print(a.keys)
dict_keys(['name','phone','birth'])

Value 리스트 만들기(values)

>>> print(a.values())
dict_values(['pey','0123456789','1225'])

Key, Value쌍 얻기(items)

Key와 Value 전체를 새로운 배열안에 튜플 형태로 각각(key,value) 쌍을 담을 수 있다

>>> print(a.items())
dict_items([(name,'pey'),(phone,'0123456789'),(birth,'1225')])

이것들은 주로 for문에 자주 쓰인다

Key, Value쌍 모두 지우기(clear)

>>> a.clear()
>>> print(a)
{}

Key로 Value얻기(get)

대괄호 안에 넣은거랑 똑같이 쓸 수 있는데 없는 것을 다룰 때 유용하게 쓸 수 있다

>>> a = {'name':'pey', 'phone':'0123456789','birth':'1225'}
>>> print(a.get('name'))
pey
>>> print(a.get('phone'))
0123456789
>>> print(a[4])
Key Error: 4 // 대괄호를 했을 때
>>> print(a.get(4))
None // get을 썼을 때
>>> print(a.get(4,'없음') )
없음 // default값 4라는 key가 없을 때 '없음'return 

해당 Key가 딕셔너리 안에 있는지 조사하기(in)

딕셔너리의 핵심은 Key를 이용해서 빠르게 찾을 수 있다.

>>> a = {'name':'pey', 'phone':'0123456789','birth':'1225'}
>>> print('name' in a)
True
>>> print('email in a)
False

0개의 댓글