튜플 자료형(tuple)
tuple은 list와 다르게 ()로 둘러쌓여있고
값의 변경이 불가능하다
예시)
tuple1 = () //빈 tuple생성
tuple2 = (1,) //tuple의 element가 1개일때 뒤에 , 붙이자
tuple3 = (1, 2, 3)
tuple4 = 1, 2, 3 //괄호생략가능
tuple5 = ('a', 'b', ('ab', 'cd')) //튜플안에 튜플 넣을 수 있다.
이런 애들이 tuple인데 list에 비해서 값의 변경이 불가능하므로 쓰임이 덜하다
del 로 지울수도 없다
그치만 나머지 부분에서는 List랑 동일하게 사용가능(인덱싱,슬라이싱,+,*)하므로
List부분을 참고하도록 하자(심지어 len(tuple))도 사용가능하다
파이썬 List의 활용
딕셔너리(dictionaray)
이런것들을 다른 언어에서는 Associative array/Hash 이렇게 부르기도 하는데
key값과 value로 이루어진 자료형이다. 순서가 없다.
이때 key값은 중복이 되지않고 (늦게 추가한 key와 value값으로 바뀐다)
key값으로는 변하는 값이면 사용할수 없는데 대표적으로 list는 사용하지 못한다
형식)
{ key1 : value1 , key2 : value2, key3:value3}
예시)
{ '이름' : '옹식' , '나이' : 4 , '성격' : [ '차분' , '침착' ] }
이런식으로 value값으로 여러 자료형을 받을수 있다.
뿐만아니라 값의 추가는
dictionaryname[추가할key] = value값 이런 방식으로 추가해 줄수 있다.
예시) mydict = { 1 : 'a' , 2: 'b'}
mydict[3] = 'c'
mydict = { 1 : 'a' , 2 : 'b' , 3 : 'c'}
Dictionary의 함수
del mydict[key] : key값에 해당하는 key와 value를 삭제해준다
mydict.keys() : dict_keys라는 객체를 리턴해준다 (파이썬 3.0 이후에)
이때 만약 list가 필요하면 list(mydict.keys())를 해주자
(파이썬 3.0 이전에는 리스트를 리턴한다)
፠ 이때 객체들은 리스트로 변환안해도
iterable하므로 for문이나 iterate한 구문에 사용할 수 있다
mydict.values() : value객체를 리턴해준다
mydict.items() : key와 value를 튜플로 묶은 객체 반환
예시) dict_items([('key','value'),...])
mydict.clear() : dictionary안의 모든 객체를 지운다
mydict = {}가 된다
mydict.get(key) : key값에 해당하는 value를 리턴한다
이때 key값이 없으면 None을 리턴한다
mydict.get(key, default값) : 해당하는 key값이 없으면 default값을 리턴
dictionary[key] : key값에 해당하는 value를 리턴하는데
key값이 없으면 에러를 리턴한다
፠ key in dictionary 를 통해서 dictionary안에 key가 있는지 확인 할수 있다