#파이썬 코딩 기초강좌-파이썬 프로그래밍의 기초(자료형 2)

#튜플 : 리스트와 거의똑같음. 
#둘의 차이점은 리스트는 대괄호[], 튜플은 소괄호()
# 리스트는 attend/insert 등 바꿀수 있지만 튜플은 변경불가능,
# 튜플은 길이, 값 모두 고정되있는 것

"""
#튜플은 삭제,추가,변경 불가

t1=(1,2,'a','b')
del t1[0]
#결과 : 에러
"""
"""
#슬라이싱 가능함
t1=(1,2,'a','b')
print(t1[0:3:2])
#결과 : (1, 'a')

#인덱싱 가능함
t1=(1,2,'a','b')
print(t1[1])
#결과 : 2
"""
"""
#더하기
t1=(1,2,'a','b')
t2=(3,4)

print(t1+t2)
#결과 : (1, 2, 'a', 'b', 3, 4)
"""
"""
#곱하기
t1=(1,2,'a','b')
print(t1*3)
#결과 : (1, 2, 'a', 'b', 1, 2, 'a', 'b', 1, 2, 'a', 'b')
"""

#딕셔너리 : 중요중요 . 키값을 조회해서 볼수있음, 사전보듯이
#연관배열, hash라고 부름 key를 통해 value를 얻는다
#ex) dic={'name':'yong','phone':'1234'}
"""
dic={'name':'yong','age':'1234'}
print(dic['name'])
#결과 : yong
"""

"""
#딕셔너리 쌍 추가하기
a={1:'a'}
a['name']="익명"
print(a)
#결과 : {1: 'a', 'name': '익명'}
"""

#딕셔너리 삭제-키를 삭제함
"""
a={1:'a'}
a['name']="익명"
del a['name']
print(a)
#결과 : {1: 'a'}
"""

#키와 밸류이기 때문에 key는 절대 겹치면 안됨
"""a={1:'a',1:'b'}

print(a)
#결과 : {1: 'b'} 같은 키 중에 마지막 값만 나옴. 밸류는 같아도 됨.
"""

#키 리스트 만들기(keys 함수)
"""
a ={1:'파랑구름', 2:'이현준',3:'민준'}
print(a.keys())
"""
#결과 : dict_keys([1, 2, 3])

#밸류 리스트 만들기(values 함수)
"""
a ={1:'파랑구름', 2:'이현준',3:'민준'}
print(a.values())
"""
#결과 : dict_values(['파랑구름', '이현준', '민준'])

#아이템 : 새로운 배열안에 튜플 쌍 만들기(items 함수)
"""
a ={1:'파랑구름', 2:'이현준',3:'민준'}
print(a.values())
print(a.values())
print(a.items())
#결과 : dict_values(['파랑구름', '이현준', '민준'])
#결과 : dict_values(['파랑구름', '이현준', '민준'])
#결과 : dict_items([(1, '파랑구름'), (2, '이현준'), (3, '민준')])
"""

#clear 딕셔너리 비우기
"""
a ={1:'파랑구름', 2:'이현준',3:'민준'}
a.clear()
print(a)

c
"""

#value 얻기(get)
"""a ={1:'파랑구름', 2:'이현준',3:'민준'}

print(a.get(1))"""
#결과 : 파랑구름
#get을 쓰게되면 값이 없는 경우 none 이라는 값이 나옴, 그냥 a[4] 이렇게 value 호출하면 에러뜸

#value 값 없을 경우 리턴하기
"""
a ={1:'파랑구름', 2:'이현준',3:'민준'}

print(a.get(4,'없음'))
#결과 : 없음
"""

#key 찾기
"""
a ={1:'파랑구름', 2:'이현준',3:'민준'}

print(1 in a) #1이 a에 있냐
"""
#결과 : Ture

#집합
#핵심 : 원소가 각각 고유함, 중복될 수 없음
#집합에 관련됫것들을 쉽게 처리하기 위해 만들어진 자료형
#중복허용 x
#순서가 없다(Unordered)

#집합 자료형
#ser이 집합이라는 뜻
"""
s1 =set([1,2,3]) #같다 =sq ={1,2,3}

print(s1)

#결과: {1, 2, 3}
"""
#중복제거시 많이 사용
#문자열 집합 구성 시 쪼개짐
"""s1 =set('hello')
print(s1)
"""

#교집합
"""
s1 =set([1,2,3,4,5,6])
s2 =set([4,5,6,7,8,9])
print(s1&s2) #=같음 print(s1.intersection(s2))
#결과 {4, 5, 6}
"""

#합집합
"""
s1 =set([1,2,3,4,5,6])
s2 =set([4,5,6,7,8,9])
print(s1|s2) #=같음 print(s1.union(s2))
#결과 {1, 2, 3, 4, 5, 6, 7, 8, 9}
"""

#차집합 
""""
s1 =set([1,2,3,4,5,6])
s2 =set([4,5,6,7,8,9])
print(s1-s2)#=같음 print(s1.difference(s2))
#결과 {1, 2, 3, 4, 5, 6, 7, 8, 9}
"""
#값 1개 추가하기(add)
"""
s1 =set([1,2,3])
s1.add(7)
print(s1)
#결과 {1, 2, 3, 7,}
"""

#값 여러개 추가하기(update)
"""
s1 =set([1,2,3])
s1.update([7,8,9])
print(s1)
#결과 {1, 2, 3, 7, 8, 9}
"""

#값 여러개 추가하기(remove)

s1 =set([1,2,3])
s1.remove(3)
print(s1)
#결과 {1, 2}

#불


