리스트와 비슷하지만 다른 점이 있음
튜플은 소괄호 ()로 되어 있음
튜플은 값을 바꿀 수 없음
가장 큰 2가지 차이점
>>> t1=(2,)
>>> t2=(2)
>>> type(t1)
<class 'tuple'>
>>> type(t2)
<class 'int'>
>>> t3=1,2,3
>>> type(t3)
<class 'tuple'>
>>> t1=(1,2,'a','b')
>>> t1[0]
1
>>> t1=(1,2,'a','b')
>>> t1[1:]
(2, 'a', 'b')
>>> t1=(1,2,'a','b')
>>> t2=(3,4)
>>> t1+t2
(1, 2, 'a', 'b', 3, 4)
>>> t2=(3,4)
>>> t2*3
(3, 4, 3, 4, 3, 4)
key와 value로 한 쌍을 갖는 자료형
{key1:value1,key2:valuse2...}
key:valuse 형태로 이루어지고 , 로 구분
>>> a={1:'a'}
>>> a[2]='b'
>>> a
{1: 'a', 2: 'b'}
>>> a
{1: 'a', 2: 'b'}
>>> del a[1]
>>> a
{2: 'b'}
>>> grade={'pey':10,'ken':99}
>>> grade['pey']
10
>>> grade['ken']
99
주의 사항
- key에 리스트는 사용 불가(형태가 변하지 않는 자료형만 가능 숫자 문자열 튜플)
- key는 고유한 값이므로 중복 사용시 하나를 제외하고 모두 무시 됨
딕셔너리의 key만 모아 dict_keys 객체 리턴
>>> a={'name':'ken','phone':'000000','birth':'4444'}
>>> a.keys()
dict_keys(['name', 'phone', 'birth'])
>>> for k in a.keys():
... print(k)
...
name
phone
birth
keys와 같게 value만 얻는 함수
>>> a
{'name': 'ken', 'phone': '000000', 'birth': '4444'}
>>> a.values()
dict_values(['ken', '000000', '4444'])
key와 value를 튜플로 묶은 갑승ㄹ dict_items객체로 리턴
>>> a.items()
dict_items([('name', 'ken'), ('phone', '000000'), ('birth', '4444')])
딕셔너리 전부 삭제 {}는 빈 딕셔너리를 나타냄
>>> a
{'name': 'ken', 'phone': '000000', 'birth': '4444'}
>>> a.clear()
>>> a
{}
key값으로 value를 얻는 함수
>>> a.get('name')
'ken'
인덱싱은 존재하지 않는 key로 검색 시 에러로 처리하지만
get은 none을 리턴
python
코드를 입력하세요
>>> a.get('age')
>>> a['age']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'age'
해당 key가 딕셔너리 안에 있는지 조사
>>> 'name' in a
True
존재 시 True 없을 시 False
집합은 파이썬 2.3부터 지원한 자료형
set키워드를 이용해 만들 수 있음
>>> s1=set([1,2,3])
>>> s1
{1, 2, 3}
>>> se=set("Hello")
>>> se
{'l', 'e', 'o', 'H'}
따라서, 값에 접근하려면 리스트나 튜플로 먼저 변형해야 함
>>> s1
{1, 2, 3}
>>> l1=list(s1)
>>> l1
[1, 2, 3]
>>> l1[0]
1
>>> s1=set([1,2,3,4,5,6])
>>> s2=set([4,5,6,7,8,9])
>>> s1&s2
{4, 5, 6}
>>> s1.intersection(s2)
{4, 5, 6}
>>> s1|s2
{1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> s1.union(s2)
{1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> s1-s2
{1, 2, 3}
>>> s1.difference(s2)
{1, 2, 3}
>>> s2.difference(s1)
{8, 9, 7}
>>> s1=set([1,2,3])
>>> s1.add(4)
>>> s1
{1, 2, 3, 4}
>>> s1
{1, 2, 3}
>>> s1.update([4,5,6])
>>> s1
{1, 2, 3, 4, 5, 6}
>>> s1
{1, 2, 3, 4}
>>> s1.remove(4)
>>> s1
{1, 2, 3}