728x90
반응형
※ 출처: https://swexpertacademy.com/
셋 Set
- 중복되지 않는 데이터를 만들기 위해 사용하는 자료구조
- 인덱스 제공하지 않음 -> 순서의 개념이 없음
📒교집합 , 합집합, 차집합
data_set1 = {1, 2, 2, 3, 4, 4, 5, 6, 7, 7, 7, 11}
data_set2 = {2, 3, 5, 9, 11, 12, 15}
print(data_set1 & data_set2) #교집합
print(data_set1 | data_set2) #합집합
print(data_set1 - data_set2) #차집합
print(data_set2 - data_set1) #차집합
print(data_set1.intersection(data_set2)) #교집합
print(data_set1.union(data_set2)) #합집합
print(data_set1.difference(data_set2)) #차집합
print(data_set2.difference(data_set1)) #차집합
"""
{11, 2, 3, 5}
{1, 2, 3, 4, 5, 6, 7, 9, 11, 12, 15}
{1, 4, 6, 7}
{9, 12, 15}
"""
📒 추가
data_set = set(range(3))
data_set.add(4)
data_set.add(4)
print(data_set) #{0, 1, 2, 4}
data_set.update({4, 5, 6})
print(data_set) #{0, 1, 2, 4, 5, 6}
📒 제거
data_set = set( range(1, 11))
# 해당 data 만 제거
data_set.remove(9)
data_set.remove(2)
print(data_set) #{1, 3, 4, 5, 6, 7, 8, 10}
# 첫번째 항목 제거
data_set.pop()
print(data_set) #{3, 4, 5, 6, 7, 8, 10}
data_set.clear() #전체 제거
📒데이터 확인
data_set1 = {1, 2, 3, 4, 5}
data_set2 = {2, 3}
# a.issuperset(b) : a가 b를 전부 포함하는 집합인지
print(data_set1.issuperset(data_set2)) #True
# a.issubset(b) : a가 b에 전부 포함되는 집합인지
print(data_set2.issubset(data_set1)) #True
딕셔너리 Dictionary
- 키 데이터와 관련된 데이터를 연결한 자료구조
📒tuple, list, set -> dictionary
# tuple -> dictionary
data_tuple = ( ('lee',20), ('kim',45), ('kang',11) )
data_dic = dict(data_tuple)
# list -> dictionary
data_list = [ ('lee',20), ('kim',45), ('kang',11) ]
data_dic = dict(data_list)
# set -> dictionary
data_set = { ('lee',20), ('kim',45), ('kang',11) }
data_dic = dict(data_list)
print(data_dic) #{'lee': 20, 'kim': 45, 'kang': 11}
📒 추가
data_dic1 = {
'lee' : 20,
'kim' : 45,
'jang' : 35
}
data_dic1['eun'] = 40
# {'lee': 20, 'kim': 45, 'jang': 35, 'eun': 40}
data_dic1.update({'sin':11, 'won':23})
# {'lee': 20, 'kim': 45, 'jang': 35, 'eun': 40, 'sin': 11, 'won': 23}
📒변경
data_dic1 = {'hong':20, 'lee':11, 'kang':44}
data_dic1['kang'] = 40
print(data_dic1) # {'hong': 20, 'lee': 11, 'kang': 40}
data_dic1.update({'hong':22, 'lee':10})
print(data_dic1) # {'hong': 22, 'lee': 10, 'kang': 40}
📒제거
data_dic1 = {'hong':20, 'lee':11, 'kang':44}
del data_dic1['hong']
print(data_dic1) #{'lee': 11, 'kang': 44}
data_dic1.pop('lee')
print(data_dic1) #{'kang': 44}
data_dic1.clear()
📒데이터 확인
data_dict1 = {
'lee':10,
'kim':20,
'hong':30
}
#딕셔너리 항목이 있는 지 검사
print("'lee' in data_dict1 => {0}".format('lee' in data_dict1)) #True
print(f"'lee' in data_dict1 => {'lee' in data_dict1}") #True
print(f"'jang' not in data_dict1 => {'jang' not in data_dict1}") #True
#튜플로 구성
print(f"{type(data_dict1.items())} {data_dict1.items()}")
#<class 'dict_items'> dict_items([('lee', 10), ('kim', 20), ('hong', 30)])
#문자열로 구성
print(f"{type(data_dict1.keys())} {data_dict1.keys()}")
#<class 'dict_keys'> dict_keys(['lee', 'kim', 'hong'])
#정수로 구성
print(f"{type(data_dict1.values())} {data_dict1.values()}")
#<class 'dict_values'> dict_values([10, 20, 30])
📒for
for item in data_dict1.items():
print(f"{item[0]}, {item[1]}")
for key, value in data_dict1.items():
print(f"{key}, {value}")
# 결과 동일
lee, 10
kim, 20
hong, 30
728x90
반응형
'Data Science > Python' 카테고리의 다른 글
기본 문법/ 내장함수 (0) | 2025.02.23 |
---|---|
[SWEA] 자료구조 셋, 딕셔너리 - 연습문제(6255,6256,6257) (1) | 2025.02.21 |
[SWEA] 자료구조 리스트, 튜플 - 연습문제(6273,6275,6277,6286,6288,6289,6290,6295,6297,6305) (0) | 2025.02.09 |
[SWEA] 자료구조 리스트, 튜플 (0) | 2025.02.08 |
[SWEA] 함수의 기초 - 연습문제(6319,6320) (0) | 2025.02.08 |