잠토의 잠망경

[python] set 본문

공부/Python

[python] set

잠수함토끼 2020. 6. 14. 15:44

github

set 기본기능

set의 특징

  1. 무질서
  2. 중복제거

code

github

#region::sample
s1 = set([1,2,3,4])

print(s1)
print(len(s1))
print(type(s1))

s2 = set('hello')

print(s2)
print(len(s2))

s3 = set()

print(s3)
print(len(s3))
#endregion

결과

{1, 2, 3, 4}
4
<class 'set'>
{'e', 'h', 'l', 'o'}
4
set()
0

set에서 교집합, 차집합, 합집합

code

github


# region::union,difference,intersection
s1 = set([1,2,3,4,5,6,7,8])
s2 = set([4,5,6,7,8,9,10])

print(s1&s2) # 교집합

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

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

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

# endregion

결과

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

set에서 item 추가하기

code

github

# region::add
s1 = set([1,2,3,4])

s1.add(10)

print(s1)

s1.add(1)   # 중복을 허락하지 않는다.
print(s1)   # 추가되면 삭제처리된다.


s1.update([4,5,6,7]) # 다수개 추가

print(s1)

# endregion

결과

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

set에서 특정 item 삭제하기

code

github


# region::delete

s1 = set([1,2,3,4,5])

s1.remove(3)

print(s1)

# endregion

결과

{1, 2, 4, 5}

list를 활용

list안에 중복을 제거하는 방법

set을 이용하여 중복을 날리고 list로 다시 복원하기

code

github

#region::list 활용

mylist = [1,2,3,3,5]

print(mylist)
print(type(mylist))

s1 = set(mylist)

print(s1)
print(type(s1))

s1 = list(s1)

print(s1)
print(type(s1))

#endregion

결과

[1, 2, 3, 3, 5]
<class 'list'>
{1, 2, 3, 5}
<class 'set'>
[1, 2, 3, 5]
<class 'list'>

참고

Comments