| title | 파이썬 세트 - 파이썬 치트 시트 |
|---|---|
| description | 파이썬은 데이터를 구성하는 데 도움이 되는 여러 내장 데이터 유형 (리스트, 딕셔너리, 튜플, 세트 포함) 을 갖추고 있습니다. |
| labUrl | https://labex.io/ko/labs/python-python-sets-633665?course=python-cheatsheet |
Python 은 데이터를 구성하는 데 도움이 되는 여러 내장 데이터 유형을 갖추고 있습니다. 이러한 구조에는 리스트, 딕셔너리, 튜플 및 **집합 (sets)**이 포함됩니다.
Python 3 문서에서 발췌 집합은 중복 요소가 없는 순서가 없는 컬렉션입니다. 기본 용도는 멤버십 테스트 및 중복 항목 제거입니다.더 깊이 있는 참조를 위해 Python 집합: 무엇을, 왜, 어떻게를 읽어보세요.
집합을 생성하는 두 가지 방법이 있습니다. 중괄호 {}를 사용하거나 내장 함수 set()을 사용하는 것입니다.
{}를 사용하지 않도록 주의하세요. 그렇지 않으면 대신 빈 딕셔너리가 생성됩니다.
# 중괄호 또는 set() 함수를 사용하여 집합 생성
s = {1, 2, 3} # 중괄호 사용
s = set([1, 2, 3]) # set() 생성자 사용
# 경고: 빈 {}는 집합이 아닌 딕셔너리를 생성합니다
s = {} # 이것은 집합 대신 딕셔너리를 생성합니다
type(s) # <class 'dict'> 반환<class 'dict'>
집합은 모든 중복 값을 자동으로 제거합니다.
# 집합은 중복을 자동으로 제거합니다
s = {1, 2, 3, 2, 3, 4} # 중복은 제거됩니다
s # {1, 2, 3, 4} 반환{1, 2, 3, 4}
A. 중복이 자동으로 제거됩니다 B. 오류가 발생합니다 C. 집합은 모든 중복을 유지합니다 D. 첫 번째 발생만 유지됩니다 집합은 중복 값을 자동으로 제거합니다. 집합은 중복 요소가 없는 순서가 없는 컬렉션입니다.
그리고 순서가 없는 데이터 유형이므로 인덱싱할 수 없습니다.
s = {1, 2, 3}
s[0]Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'set' object does not support indexing
add() 메서드를 사용하여 집합에 단일 요소를 추가할 수 있습니다.
# add() 메서드: 집합에 단일 요소 추가
s = {1, 2, 3}
s.add(4) # 요소 4 추가
s{1, 2, 3, 4}
그리고 update()를 사용하면 여러 요소를 추가할 수 있습니다.
# update() 메서드: 반복 가능한 (iterable) 객체에서 여러 요소 추가
s = {1, 2, 3}
s.update([2, 3, 4, 5, 6]) # 여러 요소 추가 (중복은 무시됨)
s{1, 2, 3, 4, 5, 6}
두 메서드 모두 집합에서 요소를 제거하지만, remove()는 값이 존재하지 않으면 key error를 발생시킵니다.
# remove() 메서드: 요소 제거, 찾을 수 없으면 KeyError 발생
s = {1, 2, 3}
s.remove(3) # 요소 3 제거
s{1, 2}
s.remove(3)Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 3
discard()는 오류를 발생시키지 않습니다.
# discard() 메서드: 요소 제거, 누락되어도 오류 없음
s = {1, 2, 3}
s.discard(3) # 요소 3 제거 (안전함, 누락되어도 오류 없음)
s{1, 2}
s.discard(3)remove()와 discard() 메서드의 차이점은 무엇입니까?
A. remove()는 하나의 요소를 제거하고, discard()는 모든 요소를 제거합니다
B. 차이점이 없습니다
C. remove()는 요소가 존재하지 않으면 오류를 발생시키지만, discard()는 그렇지 않습니다
D. remove()가 더 빠릅니다
두 메서드 모두 집합에서 요소를 제거하지만, remove()는 요소가 존재하지 않으면 KeyError를 발생시키는 반면, discard()는 요소가 누락된 경우 아무 작업도 수행하지 않습니다.
union() 또는 |는 제공된 집합들의 모든 요소를 포함하는 새 집합을 생성합니다.
# union(): 여러 집합의 모든 요소 결합 (중복 없음)
s1 = {1, 2, 3}
s2 = {3, 4, 5}
s1.union(s2) # 또는 's1 | s2' - {1, 2, 3, 4, 5} 반환{1, 2, 3, 4, 5}
intersection() 또는 &는 모든 집합에 공통된 요소만 포함하는 집합을 반환합니다.
# intersection(): 모든 집합에 공통된 요소 반환
s1 = {1, 2, 3}
s2 = {2, 3, 4}
s3 = {3, 4, 5}
s1.intersection(s2, s3) # 또는 's1 & s2 & s3' - {3} 반환{3}
intersection()은 집합에 대해 무엇을 반환합니까?
A. 모든 집합의 모든 요소
B. 모든 집합에 공통된 요소만
C. 첫 번째 집합에는 있지만 다른 집합에는 없는 요소
D. 두 집합 중 하나에는 있지만 둘 다에는 없는 요소
intersection() 메서드는 비교되는 모든 집합에 존재하는 요소만 포함하는 집합을 반환합니다.
difference() 또는 -는 첫 번째 집합 (호출된 집합) 에만 고유한 요소만 반환합니다.
# difference(): 첫 번째 집합에는 있지만 다른 집합에는 없는 요소 반환
s1 = {1, 2, 3}
s2 = {2, 3, 4}
s1.difference(s2) # 또는 's1 - s2' - {1} 반환{1}
s2.difference(s1) # 또는 's2 - s1'{4}
symmetric_difference() 또는 ^는 두 집합에 공통되지 않은 모든 요소를 반환합니다.
# symmetric_difference(): 두 집합 중 하나에는 있지만 둘 다에는 없는 요소 반환
s1 = {1, 2, 3}
s2 = {2, 3, 4}
s1.symmetric_difference(s2) # 또는 's1 ^ s2' - {1, 4} 반환{1, 4}
symmetric_difference()는 무엇을 반환합니까?
A. 두 집합의 모든 요소
B. 두 집합에 공통된 요소만
C. 첫 번째 집합에는 있지만 두 번째 집합에는 없는 요소
D. 두 집합 중 하나에는 있지만 둘 다에는 없는 요소
symmetric_difference() 메서드는 두 집합 모두에 포함되지 않고 어느 한쪽에만 포함된 요소를 포함하는 집합을 반환합니다.
- Python 데이터 유형 블로그 게시물
- Python 집합: 무엇을, 왜, 어떻게
- Python 딕셔너리
- Python 리스트 및 튜플