Skip to content

Latest commit

 

History

History
273 lines (209 loc) · 8.76 KB

File metadata and controls

273 lines (209 loc) · 8.76 KB
title 파이썬 세트 - 파이썬 치트 시트
description 파이썬은 데이터를 구성하는 데 도움이 되는 여러 내장 데이터 유형 (리스트, 딕셔너리, 튜플, 세트 포함) 을 갖추고 있습니다.
labUrl https://labex.io/ko/labs/python-python-sets-633665?course=python-cheatsheet
Python 집합 (Sets)

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

set add 및 update

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}

set remove 및 discard

두 메서드 모두 집합에서 요소를 제거하지만, 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()는 요소가 누락된 경우 아무 작업도 수행하지 않습니다.

set union (합집합)

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}

set intersection (교집합)

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() 메서드는 비교되는 모든 집합에 존재하는 요소만 포함하는 집합을 반환합니다.

set difference (차집합)

difference() 또는 -는 첫 번째 집합 (호출된 집합) 에만 고유한 요소만 반환합니다.

# difference(): 첫 번째 집합에는 있지만 다른 집합에는 없는 요소 반환
s1 = {1, 2, 3}
s2 = {2, 3, 4}

s1.difference(s2)  # 또는 's1 - s2' - {1} 반환
{1}
s2.difference(s1) # 또는 's2 - s1'
{4}

set symmetric_difference (대칭 차집합)

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 리스트 및 튜플