Python / 자료형 / 집합(set)

집합(set)

집합은 여러 개의 자료를 하나의 변수로 관리할 때 사용하는 자료형 중의 하나입니다.

집합 자료형은 수학의 집합과 같은 성질을 가집니다. 즉, 집합은 중복된 데이터를 가질 수 없고, 순서가 없습니다. 따라서 순서와 관련된 인덱스기호([ ])를 사용할 수 없고, 중복 데이터를 만드는 +, *를 사용할 수 없습니다. 하지만, in, not in, len()은 사용할 수 있습니다.

집합 만들기

집합은 중괄호로 만듭니다.

>>> jb = {1,2,3,4,5}
>>> jb
{1, 2, 3, 4, 5}
>>> type(jb)
<class 'set'>

빈 집합, 즉 공집합은 다음과 같이 만듭니다.

>>> jb = set()
>>> type(jb)
<class 'set'>

집합의 길이 구하기

>>> jb = {1,2,3}
>>> len(jb)
3

값이 있는지 확인하기

>>> jb = {1,2,3}
>>> 1 in jb
True
>>> 4 in jb
False

값이 없는지 확인하기

>>> jb = {1,2,3}
>>> 1 not in jb
False
>>> 4 not in jb
True

원소 추가하기

하나의 원소를 추가할 때는 .add()를 사용합니다.

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

여러 개의 원소를 한 번에 추가할 때는 .update()를 사용합니다.

>>> jb = {1,2,3}
>>> jb.update([4,5,6])
>>> jb
{1, 2, 3, 4, 5, 6}

원소 제거하기

.remove()로 원소를 제거합니다. 없는 원소를 제거하려 하면 에러가 납니다.

>>> jb = {1,2,3}
>>> jb.remove(3)
>>> jb
{1, 2}
>>> jb.remove(5)
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
jb.remove(5)
KeyError: 5

.discard()로 원소를 제거하면, 없는 원소를 제거하려 할 때 에러가 나지 않습니다.

>>> jb = {1,2,3}
>>> jb.discard(3)
>>> jb
{1, 2}
>>> jb.discard(5)
>>>

.pop()은 임의의 원소를 하나 가져온 후 삭제합니다.

>>> jb = {1,2,3}
>>> jb.pop()
1
>>> jb
{2, 3}

.clear()는 모든 원소를 지우고 공집합으로 만듭니다.

>>> jb = {1,2,3}
>>> jb.clear()
>>> jb
set()

교집합, 합집합, 차집합 구하기

교집합은 & 또는 .intersection()으로, 합집합은 | 또는 .union()으로, 차집합은 - 또는 .difference()로 구합니다.

>>> jb1 = {1,2,3}
>>> jb2 = {3,4,5}
>>> jb1 & jb2
{3}
>>> jb1.intersection(jb2)
{3}
>>> jb1 | jb2
{1, 2, 3, 4, 5}
>>> jb1.union(jb2)
{1, 2, 3, 4, 5}
>>> jb1 - jb2
{1, 2}
>>> jb1.difference(jb2)
{1, 2}

Related Posts

Python / 사용자 정의 함수 만들고 호출하기

Python / 사용자 정의 함수 만들고 호출하기

함수를 정의하고 호출하는 방법을 알아봅니다. 함수 만들기 def function_name( parameter ) : # code function_name : 함수 이름입니다. 변수명을 만드는 규칙과 같은 규칙으로 만듭니다. parameter : 인수입니다. 인수가 여러 개인 경우 쉼표(,)로 구분합니다. 함수 호출하기 function_name( parameter ) 예제 Hello를 출력하는 함수를 정의합니다. def jb_say_hello() : print('Hello') 함수를 호출하면 Hello가 출력됩니다. >>> jb_say_hello() Hello 함수를 정의하는 위치 함수는 ...

Python / range() / 연속된 수 또는 일정 간격의 연속된 수를 만드는 함수

Python / range() / 연속된 수 또는 일정 간격의 연속된 수를 만드는 함수

range() range() 함수는 연속된 수 또는 일정 간격의 연속된 수를 만드는 함수입니다. for 반복문에 자주 사용됩니다. 문법 range(stop) 0부터 시작하여 stop보다 하나 작은 수까지 만듭니다. range(start, stop) start부터 시작하여 stop보다 하나 작은 수까지 만듭니다. range(start, stop, step) start부터 시작하여 stop보다 하나 작은 수까지 step 간격으로 수를 만듭니다. 예제 1 0부터 3까지의 수를 만듭니다. >>> list(range(4)) 1부터 10까지의 수를 만듭니다. >>> ...

Python / 자료형 / 집합(set)

Python / 자료형 / 집합(set)

집합(set) 집합은 여러 개의 자료를 하나의 변수로 관리할 때 사용하는 자료형 중의 하나입니다. 집합 자료형은 수학의 집합과 같은 성질을 가집니다. 즉, 집합은 중복된 데이터를 가질 수 없고, 순서가 없습니다. 따라서 순서와 관련된 인덱스기호()를 사용할 수 없고, 중복 데이터를 만드는 +, *를 사용할 수 없습니다. 하지만, in, not in, len()은 사용할 수 있습니다. 집합 만들기 집합은 중괄호로 만듭니다. >>> ...

Python / 반복문 / for

Python / 반복문 / for

for를 이용하여 반복된 작업을 할 수 있습니다. for는은 임의의 시퀀스(리스트나 문자열)의 항목들을 그 시퀀스에 들어있는 순서대로 이터레이션 합니다. range(4)는 0, 1, 2, 3을 만듭니다. 0일 때 한 번, 1일 때 한 번, 2일 때 한 번, 3일 때 한 번, 총 4회 반복을 합니다. >>> for i in range(4): print("Hello") Hello Hello Hello Hello range(4)로 만든 각 값을 ...

Python / type() / 데이터 타입(자료형) 확인하는 함수

Python / type() / 데이터 타입(자료형) 확인하는 함수

type() type()은 데이터 타입을 확인할 수 있는 함수입니다. 예제 123의 데이터 타입을 확인합니다. 결과는 정수입니다. >>> type(123) <class 'int'> 변수에 데이터를 담고, 변수 이름으로 데이터 타입을 확인할 수 있습니다. >>> jb = 123 >>> type(jb) <class 'int'> print() 함수로 결과를 출력할 수 있습니다. 쉘에서는 결과가 같지만, 실제 프로그램 실행시에는 데이터 타입이 출력됩니다. >>> jb = 123 >>> print(type(jb)) <class 'int'> 다음은 여러 가지 데이터의 ...

Python / 설치 / 윈도우에 설치하기

Python / 설치 / 윈도우에 설치하기

다운로드 및 설치 Python 다운로드 페이지에서 윈도우용 Python을 다운로드합니다. 다운로드한 파일을 실행시킵니다. Add Python 3.6 to PATH에 체크하고, 안내에 따라 설치합니다. 테스트하기 IDLE을 클릭합니다. 코드를 입력하고 결과를 확인할 수 있는 Shell이 실행됩니다. print('Hello World') 를 입력하고 엔터키를 누릅니다. Hello World가 출력되는지 확인합니다.

Python / input() / 사용자가 입력한 값을 변수에 저장하는 함수

Python / input() / 사용자가 입력한 값을 변수에 저장하는 함수

설명 input() 함수로 사용자가 어떤 값을 입력하게 하고, 그 값을 변수에 저장할 수 있습니다. 문법 예를 들어 >>> x = input() 을 입력하고 엔터를 누르면 사용자가 값을 입력하기를 기다립니다. 값을 입력하고 엔터를 누르면 그 값이 변수 x에 저장됩니다. >>> x = input() hello >>> x 'hello' 입력할 값에 대한 안내를 출력하고 싶다면 >>> x = input('some text') 와 같이 합니다. 작은 따옴표 ...

Python / 객체(Object)와 변수(Variable)

Python / 객체(Object)와 변수(Variable)

객체(Object) 메모리에 저장된 자료를 객체(object)라고 합니다. 변수(Variable)와 변수명(Variable Name) 객체를 저장한 공간을 변수, 변수의 이름을 변수명이라고 합니다. 변수에 객체를 넣을 때 등호 '='을 이용합니다. 등호 왼쪽에는 변수명, 등호 오른쪽에는 객체를 적습니다. 예를 들어 x = 100 이라 하면 객체 100을 x라는 이름의 변수에 저장하겠다는 뜻입니다. 객체는 보통 변수에 저장하여 사용합니다. 객체 출력 객체를 출력하는 대표적인 함수는 print입니다. >>> ...

Python / 모듈(module) 사용하기

Python / 모듈(module) 사용하기

모듈 가져오고 사용하기 import로 모듈을 가져옵니다. 예를 들어 math 모듈을 가져오고 싶다면 >>> import math 모듈에 포함된 함수 등 목록을 보고 싶다면 dir() 함수를 이용합니다. >>> dir(math) ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', ...

Python / 조건문 / if

Python / 조건문 / if

if if 구문을 이용하면, 특정 조건을 만족할 때 특정 작업이 수행되도록 할 수 있습니다. 조건을 만족하는 동안 반복 작업을 하고 싶다면 while을 사용하세요. 문법 1 조건이 참이라면 코드를 실행합니다. if condition: statement 1은 0보다 크므로 HM을 출력합니다. if 1 > 0: print("HM") 조건이 거짓이므로 HM을 출력하지 않습니다. 즉, 아무런 작업을 하지 ...