집합은 들어있는 값들이 중복되지 않고 순서가 없는 자료구조다.
따라서, 원소들의 값이 중복되지 않아야 하거나 중복된 값들을 제거할 때 유용하다.
집합을 생성할 때는 {} 또는 set() 생성자를 이용한다.
fruits = {'사과','바나나','오렌지'}
print(fruits)
Python
복사
{’오렌지’,’바나나’,’사과’}
리스트나 튜플, 문자열을 set() 생성자를 이용해서 집합으로 바꿀 수 있다.
numbers = [1,2,3,4,5]
number_set = set(numbers)
print(number_set)
Python
복사
{1,2,3,4,5}
집합 원소 값 사용하기
ex. 집합 s안에 target이 존재하면 True, 없으면 False 를 반환하는 함수를 만들자.
def is_in(s: set, target) -> bool:
return target in s
is_in({1, 2, 3}, 2)
Python
복사
True
집합 원소 추가
집합 원소 삭제
2.
.discard()
인자로 넣은 원소를 제거 / 없어도 에러가 발생하지 않는다.
my_set = {'apple','banana','orange'}
my_set.discard('banana')
print(my_set)
Python
복사
{’apple’,’orange’}
3.
.pop()
랜덤으로 원소를 제거한다.
my_set = {'apple','banana','orange'}
my_set.pop()
Python
복사
중복 제거
집합 연산
집합 연습문제
ex2. 리스트 l에서 자료형이 int인 원소만 더해서 그 값을 반환하는 함수 sum_of_ints(l)을 작성
def sum_of_ints(l: list) -> int:
int_list = [i for i in list if type(i) == 'int']
return sum(int_list)
Python
복사