7. 컬렉션 타입 세트
2024. 9. 25. 04:35ㆍ파이썬(python)
1. 세트
* 세트(set)는 중복되지 않는 항목들의 컬렉션입니다.
1)
s1 = {1, 3, 5, 7}
print(s1)
print(type(s1))
-->
{1, 3, 5, 7}
<class 'set'>
2)
s2 = {}
print(s2)
print(type(s2)) #괄호안에 공백으로 두면 안된다
-->
{}
<class 'dict'>
3)
s3 = set([1, 3, 5, 7])
print(s3)
print(type(s3))
-->
{1, 3, 5, 7}
<class 'set'>
4)
li1 = [1, 2, 3, 4]
print(li1)
s4 = set(li1)
print(s4)
print(type(s4))
-->
[1, 2, 3, 4]
{1, 2, 3, 4}
<class 'set'>
5)
s5 = {1, 3, 5, 7 , 9, 1, 5, 10, 7}
print(s5)
-->
{1, 3, 5, 7, 9, 10}
6)
li2 = [1, 3, 5, 3, 7, 9, 1, 5, 10, 7]
print(li2)
s6 = set(li2)
print(s6)
-->
[1, 3, 5, 3, 7, 9, 1, 5, 10, 7]
{1, 3, 5, 7, 9, 10}
2. 세트의 메서드
#add() : 세트의 요소를 추가하는 메서드
1)
s1 = {1, 3, 5 , 7}
print(s1)
s1. add(2) #순서가 없다
print(s1)
s1.add(4)
print(s1)
s1.add(7)
print(s1)
-->
{1, 2, 3, 5, 7}
{1, 2, 3, 4, 5, 7}
{1, 2, 3, 4, 5, 7}
2)
#update() : 세트에 여러 요소를 추가
s1 = {1, 3, 5 , 7}
print(s1)
s1.update([2,4,6,8,10])
print(s1)
-->
{1, 2, 3, 4, 5, 6, 7, 8, 10}
3)
#remove() : 세트의 요소를 제거 단 요소가 없으면 에러가 발생
s1 = {1, 3, 5 , 7}
print(s1)
s1.remove(3)
print(s1)
-->
{1, 3, 5 , 7}
{1, 5, 7}
4)
#discard() : 세트의 요소를 제거, 단 요소가 없어도 에러가 발생하지 않음
s1 = {1, 3, 5 , 7}
print(s1)
s1.discard(3)
print(s1)
s1.discard(3)
print(s1)
-->
{1, 5, 7}
{1, 5, 7}
5)
s1 = {1, 3, 5 , 7}
print(s1)
s2 = s1 #메모리 주소를 복사
print(id(s1))
print(id(s2))
#copy() : set를 복사
s2 = s1.copy()
print(s1)
print(s2)
print(id(s1))
print(id(s2))
-->
139053600787136
139053600787136
{1, 3, 5, 7}
{1, 3, 5, 7}
139053600787136
139052610351872
6)
#union() : 합집합을 계산하여 반환
s3 = {10, 20, 30, 40, 50}
s4 = {30, 40, 50, 60, 70}
result1 = s3.union(s4)
print(result1)
result2 = s3 | s4
print(result2)
-->
{70, 40, 10, 50, 20, 60, 30}
{70, 40, 10, 50, 20, 60, 30}
7)
#intersection() : 교집합을 계산하여 반환
s3 = {10, 20, 30, 40, 50}
s4 = {30, 40, 50, 60, 70}
result1 = s3.intersection(s4)
print(result1)
result2 = s3 & s4
print(result2)
-->
{40, 50, 30}
{40, 50, 30}
8)
#difference () : 차집합을 계산하여 반환
s3 = {10, 20, 30, 40, 50}
s4 = {30, 40, 50, 60, 70}
result1 = s3.difference(s4)
print(result1)
result2 = s3 - s4
print(result2)
-->
{10, 20}
{10, 20}
9)
#symmetric_difference() : 대칭 차집합을 계상하여 반환
s3 = {10, 20, 30, 40, 50}
s4 = {30, 40, 50, 60, 70}
result1 = s3.symmetric_difference(s4)
print(result1)
result2 = s3 ^ s4
print(result2)
-->
{20, 70, 10, 60}
{20, 70, 10, 60}
728x90
LIST
'파이썬(python)' 카테고리의 다른 글
9. 파이썬 연산자 (6) | 2024.09.25 |
---|---|
8. 컬렉션 타입-딕셔너리 (1) | 2024.09.25 |
6. 컬렉션 타입-튜플 (0) | 2024.09.25 |
5. 컬렉션 타입-리스트 (0) | 2024.09.24 |
4. 문자열 다루기 (2) | 2024.09.24 |