세트(set)

지애·2022년 4월 9일
0

Python

목록 보기
12/17

set

  • 고유한 값들을 저장하는 자료구조(중복된 요소들이 없음)
  • 세트의 요소는 특정 순서로 저장되지 않으며 위치별로 액세스할 수 없다.

set 생성하기

numbers = {1, 2, 3} #{}안에 요소 직접 입력
values = set() #빈 세트 생성

리스트와 세트

  • 리스트를 세트로 변환하면 중복된 요소가 없어진다.
  • 문자열을 분해하여 세트로 만들 수도 있다.

세트의 연산

  • len()
numbers ={1, 2, 3}
size = len(numbers)
print(size)
#3
  • 세트 안에 특정 요소가 존재하는지 확인
fruits = {"apple", "peach", "grape"}
if "apple" in fruits:
	print("집합에 apple이 있습니다.")
#집합에 apple이 있습니다.
  • 튜플 안에 있는 요소들을 출력(feat. sorted()함수)
numbers ={1, 2, 3}
for x in numbers:
	print(x, end=" ")
#1 3 2 (순서는 매번 달라질 수 있음)
numbers ={1, 2, 3}
for x in sorted(numbers):
	print(x, end=" ")
#1 2 3 (정렬된 순서로 출력됨)

세트 method

  • add()
    세트에 요소를 추가하는 메소드
fruits.add(item)
  • remove()
    튜플 요소 삭제 메소드
    삭제하려는 요소가 튜플 내에 존재하지 않으면 예외 발생
fruits.remove(item)
  • discard()
    튜플 요소 삭제 메소드
    삭제하려는 요소가 튜플 내에 존재하지 않더라도 예외가 발생하지 않음.

세트 함축 연산

alist = [1,2,3,4,5,1,2]
result = {x for x in alist if x%2==0}
print(result)
#(2, 4)

부분 집합 연산

  • 진부분집합
A ={"apple", "banana", "grape"}
B ={"apple", "banana", "grape", "kiwi"}
if A<B: #또는 A.issubet(B)
print("A는 B의 부분 집합입니다.")
#A는 B의 부분 집합입니다.
  • 부분 집합
    <=

합집합

C = A|B
#또는
C = A.union(B)

교집합

C = A & B
#또는
C = A.intersection(B)

차집합

C = A - B
#또는
C = A.difference(B)
profile
차근차근

0개의 댓글