728x90
![](https://blog.kakaocdn.net/dn/EiQVF/btrnw8BrAgD/CKkEtcinSvfna8xkuwLZj0/img.png)
파이썬에서 set(집합)이란 중복되는 원소 없이, 순서에 상관없는 데이터들의 집합입니다.
데이터의 중복을 허용하지 않기 때문에 중복되는 원소가 있다면 하나만 저장하게 됩니다.
또한, 순서가 없기 때문에 list처럼 인덱스 번호를 사용하여 특정 값에 접근할 수 없습니다.
set은 list나 문자열을 사용하여 생성할수 있으며 중괄호({, })로 나타냅니다.
a = set(['1', '2', '3', '4', '4'])
print(a)
![](https://blog.kakaocdn.net/dn/dJ8QNy/btrnw8VIfes/ZYPZ6bZ1wCKUFX9QjsAxMK/img.png)
순서가 없기때문에 실행할때마다 순서가 바뀝니다.
또한 '4'의 경우 중복을 허용하지 않기때문에 하나만 출력됩니다.
b = set('hello')
print(b)
![](https://blog.kakaocdn.net/dn/btyxrx/btrnxlU7Lyv/DboTaCqMFrxEu8S2espbfK/img.png)
생성자에 interable한 객체를 넣으면 set의 값으로 변환합니다.
'h', 'e', 'l', 'l', 'o'의 각각의 값이 set으로 들어가는데 'l'의 경우는 두개가 들어가는데 set은 중복을 허용하지 않기떄문에 하나만 들어간 모습입니다.
c = {'a', 'b', 'c', 'hello', '1', '2', '3'}
print(c)
![](https://blog.kakaocdn.net/dn/cjumNE/btrnu8WJx6G/aydrxELhDkBzKITWfqIw4K/img.png)
{, }로 set을 만들수도 있습니다.
값이 잘 들어가있네요!
c.add('world')
print(c)
![](https://blog.kakaocdn.net/dn/K7I2k/btrnteCRqSM/RoBom8BM0kF0KIQub7B1b1/img.png)
set은 수정이 가능하기 때문에 값을 추가할수 있습니다.
대신 list에서는 append를 사용헀지만 set은 add를 사용합니다.
# 합집합
print(a.union(b))
print(a | b)
![](https://blog.kakaocdn.net/dn/JUwwd/btrnAHXB0ih/tgvqpAnYnPvUR2kbqbCq21/img.png)
nuion또는 |(파이프)를 사용하면 두개의 set의 합집합을 구할수도 있습니다.
더하기를 한다 하더라도 set의경우 중복을 허용하지 않기때문에 합집합이 조금더 맞는 표현인것같습니다.
# 교집합
print(a.intersection(c))
print(a & c)
![](https://blog.kakaocdn.net/dn/lIR80/btrnrcyzJiD/3zMV9YAZFe6skv0G7xG8o1/img.png)
intersection이나 &를 사용하면 겹치는부분 즉, 교집합을 출력합니다.
728x90
'Python > Python' 카테고리의 다른 글
[Python] built in(형변환) (0) | 2022.05.01 |
---|---|
[Python] dictionary(딕셔너리) (0) | 2022.04.30 |
[Python] tuple(튜플), unpacking (0) | 2022.04.28 |
[Python] list(리스트) (0) | 2022.04.27 |
[Python] 문자열(string) (0) | 2022.04.26 |