값의 변경이 불가한 리스트
() 사용
리스트의 슬라이싱, 인덱실, 연산은 가능하나, tuple 자체 값의 변화는 없음
사용하는 이유?
변경하면 안되는 데이터의 변환 방지, 실수에 의한 에러 방지.
```
t=(1,2,3)
t+t = (1,2,3,1,2,3)
len(t)=3
print(t) # (1,2,3)
# 값의 변경이 불가 (할당 X)
t[1] = 4 #Error
```
()안에 ,를 기입해 주어야 튜플타입으로 인식이 됨.
t=(1) # 정수 타입
t=(1,) # 튜플타입
a=dict()
info ={"Apple":1, "banana":2, "kiwi":3}
info.items() # 데이터 출력
info.keys() #키 값만 룰력
info["Apple"]=53 #dict 추가
info.value()
for i in info.items():
print(type(i))
for k,v in info.items():
print("key":k)
print("value":v)
"kiwi" in info.keys() # key값에 kiwi있는지 확인
53 in info.values()
1) stack, queue를 지원
from collections import deque
#deque_list =[1,2,3,4,5]
deque_list= deque()
deque_list.append(1)
#deque_list =[1,2,3,4,5,1]
deque_list.appendleft(10)
#deque_list =[10,1,2,3,4,5,1]
#deque_list.extend([1,2,3])
#deque_list =[10,1,2,3,4,5,1,[1,2,3]]
2) linked list 특성을 지원 list.rotate
# deque_list
deque_list= [1,2,3,4,5,6,7,8,9]
deque_list.rotate(2)
#deque_list =[8,9,1,2,3,4,5,6,7]
print(deque(reversed(deque_list)))
deque_extend([1,2,3])
deque_list.extendleft([1,2,3])
from collections import defualtdict
#defualt값을 0으로 설정,함수 형태로 넣어야 함/
d =defaultdict(lambda :0)
d["first"] # 0
d["seconde"]# 0
from collections import Counter
c= Counter()
c= Counter('apple pie')
print(c) # Counter({'a':1, 'p':3, 'l':1,'e':2, 'i':1})
c=Counter({'apple':3, 'banana':2})
print(list(c.elements())
c=Counter(cats=4, dogs=3)
print(list(c.elements())
#Counter ({'gods':3, 'cats':4})
#['gods','gods','gods','cats','cats','cats','cats']
c=Counter(a=1,b=2,c=3,d=4)
d=Counter(a=1,b=1,c=2,d=2)
c.subtract(d)
print(c)
# Counter({'a':0, 'b':1,'c':1,'d':2})
print(c+d)
print(c&d)
print(c|d)
from collections import namedtuple
# English라 칭하고 그 안에 a와 b값이 있는 구조체 선언
Eng =namedtuple('English', ['a','b'])
# 이 구조체에 a값이 10, b값이 15가 들어간다.
e=Eng(10 , b=15)
print(e[0]+e[1])
print(e.a+e.b)