[Python] Sets

rang-dev·2020년 5월 26일
0

Sets

set은 집합을 의미한다. list와 마찬가지로 다른 타입의 여러 elements을 담을 수 있다. 하지만 다음과 같은 차이점이 존재한다.

  • 요소들의 순서가 존재하지 않는다.
  • 순서가 없으므로 index를 사용할 수 없다.
  • 동일한 값을 가진 요소가 한 개 이상 존재할 수 없다.

Set 생성하기

  • set을 생성할때는 중괄호를 사용한다
    • set1 = {1,2,3}
  • set()함수를 사용하여 list를 set으로 바꾼다.
    • set2 = set([1,2,3,4,5,5])
    • 하지만 set에서는 중복된 값이 있을 수 없으므로 만약 위의 리스트를 변환하게 되면 (1,2,3,4,5)만 남게된다.
  • Empty set을 만들때는 set()을 해준다.
    • set={}로 했더니 dict 타입으로 나왔다.

새로운 요소 추가하기

list에서는 덧붙인다는 뜻의 append를 사용하였지만 set은 순차적으로 저장되지 않기 때문에 add로 새로운 요소를 추가할 수 있다.

set1 = {1,2,3}
set1.add(4)
print(set1)
> {1,2,3,4}

당연히 원래 있던 요소를 추가하면 set에는 변화가 없다.

set1 = {1,2,3}
set1.add(3)
print(set1)
> {1,2,3}

Intersection(교집합) & Union(합집합)

교집합과 합집합은 두가지 방법으로 표현할 수 있다.

  • &, | 키워드 사용하기
set1 = {1,2,3}
set2 = {2,3,10}

print(set1 & set2)
> {2, 3}

print(set1 | set2)
> {1, 2, 3, 10}
  • intersection(), union()함수 사용하기
print(set1.intersection(set2)
> {2, 3}

print(set1.union(set2))
> {1, 2, 3, 10}
profile
지금 있는 곳에서, 내가 가진 것으로, 할 수 있는 일을 하기 🐢

0개의 댓글