코딩응애의 개발블로그

딕셔너리, 튜플, 세트,자료구조의 변경 본문

파이썬

딕셔너리, 튜플, 세트,자료구조의 변경

이너멜 2021. 7. 8. 23:02

key는 정수가 아닌 문자열로도 선언이 가능하다

# 출력할때 큰따옴표도 써주어야 한다 당연한거지만 get으로도 출력이 가능 
cabinet = {"A-3":"유재석"}
print(cabinet["A-3"]) # 유재석 출력

key를 수정하거나 추가하거나 삭제하는 법

# 원래있는 키 값으로 수정을 하려고 하면 기존의 value 값은 새로운 값으로 수정이 된다 
cabinet = {"A-3":"럼블"}
cabinet["A-3"] = "갈리오" # 럼블이 있는 자리에 갈리오가 들어온다 
print(cabinet) # {'A-3': '갈리오'} 출력 

# 새로운 key 값을 만들어서 추가하는 경우
cabinet["B-5"] = "아지르"
print(cabinet) # {'A-3': '갈리오', 'B-5': '아지르'} 출력값에 아지르가 추가된다 

# key를 삭제하는 법 
del cabinet["A-3"] # del을 이용해서 지우고 싶은 key 값을 써주면 지워짐
print(cabinet) # {'B-5': '아지르'} 출력

다양한 함수들 

# 위에 del 전까지라고 가정하고 
print(cabinet.keys()) # key값들만 출력   dict_keys(['A-3', 'B-5']) 출력
print(cabinet.values()) # value 들만 출력   dict_values(['갈리오', '아지르']) 출력 
print(cabinet.items()) # key,value 둘다 출력    dict_items([('A-3', '갈리오'), ('B-5', '아지르')]) 출력 
cabinet.clear()
print(cabinet) # cabinet 안에 모든값을 지운다    {} 출력

튜플

내용 변경, 추가를 할 수 없다. 단 속도가 리스트보다 빠르고 변경되지 않는 목록을 사용할 때 활용한다 소괄호를 쓴다 

# 튜플 형식 
menu = ("A","B")
print(menu[0]) # A 출력 

# 이런식으로 한번에 값을 선언 할 수도 있다
(name, age) = ("오른", 10000)
print(name, age) # 오른 10000 출력

세트(집합)

중복이 안되고 순서가 없는것 중괄호를 쓴다

# 집합 형식
my_set = {1,2,3,3,3}
print(my_set) # {1, 2, 3} 출력 집합은 중복이 안되서 뒤에 3들은 출력이 안된다

교집합 합집합 차집합 하는법

bronze = {"조이","타릭","나르"}
silver = set(["조이","카밀"]) # 이런식으로 집합으로 설정을 할수가 있다 
# 교집합 
print(bronze & silver)
print(bronze.intersection(silver)) # 둘다 {'조이'} 출력 
# 합집합
print(bronze | silver)
print(bronze.union(silver)) # 둘다 {'타릭', '카밀', '나르', '조이'} 출력  집합은 순서가 없기 때문에 순서대로 나온다는 보장은 없음 
# 차집합 
print(bronze - silver)
print(bronze.difference(silver)) # 둘다 {'나르', '타릭'} 출력

세트(집합)에 값을 추가하거나 빼는 법 

# 값을 추가하는법 
silver.add("리븐")
print(silver) # {'리븐', '조이', '카밀'} 출력 
# 값을 빼는 법
silver.remove("카밀")
print(silver) # {'리븐', '조이'} 출력

자료구조의 변경 

# 기본 세트 형으로 시작 
menu = {"커피","우유","쥬스"}
print(menu, type(menu)) # {'우유', '커피', '쥬스'} <class 'set'> 출력 
# 리스트로 변환할때 
menu = list(menu)
print(menu, type(menu)) # ['우유', '쥬스', '커피'] <class 'list'> 출력 
# 튜플로 변환할때 
menu = tuple(menu)
print(menu, type(menu)) # ('우유', '쥬스', '커피') <class 'tuple'> 출력

이런 식으로 자료구조를 서로 바꿀 수 있고 type 함수로 확인을 할 수 있다. 

Comments