파이썬 set

최형택·2022년 2월 13일
0

1.set란..

  • 수학에서 얘기하는 집합이랑 비슷합니다.

set1 = {1,2,3,4,5}

2.set의 활용

  • 딕셔너리랑 비슷하지만 키가 없고 값만 존재합니다.

  • list나 dict의 경우 대괄호나 중괄호로 선언할 수 있었지만, set은 dict타입과 동일한 중괄호를 사용하므로, 중괄호만으로는 생성할 수 없습니다.

s = {}
type(s)
<class 'dict'>
s = set()
type(s)
<class 'set'>
s
set()

s = set([1,2,3,4])
s
{1, 2, 3, 4}
p = {1, 2, 3, 4}
p
{1, 2, 3, 4}

  • set는 값이 중복이 될수 없습니다.

set = {1,1,1,2,3,4}
s
{1,2,3,4}

  • set는 순서가 없고 어떤 값이 먼저 나올지 모릅니다.

for i in {1, 2, 3, 4, 15}:
ex) print(i)
=4

  • add메소드를 사용합니다.

s = {1,2,3}
s.add(4)
s = {1,2,3,4}

  • set는 update도 사용이 가능합니다.

s = {1,2,3,4}
s.update(5)
s = {1,2,3,4,5}

  • set는 remove도 사용 가능합니다.

s = {1,2,3,4,5}
s.remove(5)
s = {1,2,3,4}

-set는 합집합도 가능합니다 .

a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6}
c = a | b
a
{1, 2, 3, 4, 5}
b
{3, 4, 5, 6, 7}
c
{1, 2, 3, 4, 5, 6}

  • set는 교집합도 가능합니다.

a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
c = a & b
a
{1, 2, 3, 4, 5}
b
{3, 4, 5, 6, 7}
c
{3, 4, 5}

  • set는 차집합도 가능합니다.

a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
c = a - b
a
{1, 2, 3, 4, 5}
b
{3, 4, 5, 6, 7}
c
{1, 2}

3. set의 연산메소드

3-1) union

a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
c = a.union(b)
a
{1, 2, 3, 4, 5}
b
{3, 4, 5, 6, 7}
c
{1, 2, 3, 4, 5, 6, 7}

3-2) intersection

a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
c = a.intersection(b)
a
{1, 2, 3, 4, 5}
b
{3, 4, 5, 6, 7}
c
{3, 4, 5}

3-3) difference

a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
c = a.difference(b)
a
{1, 2, 3, 4, 5}
b
{3, 4, 5, 6, 7}
c
{1, 2}

3-4) isdisjoint : 교집합이 없으면 True, 있으면 False 입니다.

a = {1, 2, 4}
b = {3, 5, 6}
a.isdisjoint(b)
True
c = {10, 20, 30}
d = {13, 14, 15}
c.isdisjoint(d)
False

0개의 댓글