개발자 모드/파이썬(python)

파이썬 (python) 집합 예제

인생은직구 2021. 6. 9. 22:08
728x90
# chapter 03-6
# 집합 특징
# 집합 자료형( 순서 불가, 중복 불가)

# 선언
a = set()
b = set([1, 2, 3, 4, 5, 3 , 4, 5])
c = set([1, 4, 5, 6])
d = set([1, 2, 'pen', 'cap', 'plate'])
e = {'foo', 'bar', 'baz', 'foo', 'qux'}


print(type(a), a, 2 in a)
print(type(b), b, 2 in b)
print(type(c), c)
print(type(d), d)
print(type(e), e)

print()

# 듀플 변환
t = tuple(b)
print(type(t),t)
print(t[0], t[1:3])



# 리스트 변환
l = list(c)
l2 = list(e)

print(l)
print(l2)


# 길이

print(len(a))
print(len(b))
print(len(c))
print(len(d))
print(len(e))


# 집합의 자료형
s1 =set([1,2,3,4,5,6])
s2 =set([3,4,5,6,7,8])

# 교집합
print()
print(s1&s2)
print(s1.intersection(s2))

# 합집합
print()
print(s1|s2)
print(s1.union(s2))

# 차집합
print()
print(s1-s2)
print(s1.difference(s2))

# 중복원소 확인
print()
print(s1.isdisjoint(s2))

# 부분 집합 확인
print()
print(s1.issubset(s2))

# 추가 & 제거
s1 = set([1,2,3,4,5])
s1.add(6)
print(s1)

print()
s1.remove(2)
print(s1)

s1.discard(7)  # 예외가 발생해도 에러를 발생하지 않는다

print()
s1.clear()
print(s1)

 

결과

 

[Command: python -u C:\python_basic\chapter03_6.py]
<class 'set'> set() False
<class 'set'> {1, 2, 3, 4, 5} True
<class 'set'> {1, 4, 5, 6}
<class 'set'> {1, 2, 'plate', 'cap', 'pen'}
<class 'set'> {'bar', 'foo', 'qux', 'baz'}

<class 'tuple'> (1, 2, 3, 4, 5)
1 (2, 3)
[1, 4, 5, 6]
['bar', 'foo', 'qux', 'baz']
0
5
4
5
4

{3, 4, 5, 6}
{3, 4, 5, 6}

{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}

{1, 2}
{1, 2}

False

False
{1, 2, 3, 4, 5, 6}

{1, 3, 4, 5, 6}

set()
[Finished in 0.132s]

728x90