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}
같은 카테고리의 다른 글
Python / 자료형 / 집합(set)

Python / 자료형 / 집합(set)

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

Python / len() / 문자열의 길이 반환하는 함수

Python / len() / 문자열의 길이 반환하는 함수

len()은 문자열의 길이 반환하는 함수이다. 간단한 예는 다음과 같다. len( "abc" ) # 3 반환 정수나 실수 등은 문자열이 아니므로 에러가 난다. 문자열로 변환한 후 센다. len( str( 1234 ) ) # 4 반환 한글도 1로, 공백도 1로 센다. len( "한글과 공백" ) # 6 반환 리스트나 튜플 등에서는 그 안에 속한 값의 ...

Python / float() / 자료형을 실수로 변환하는 함수

Python / float() / 자료형을 실수로 변환하는 함수

float()는 데이터 타입을 실수로 변경하는 함수이다. 정수를 실수로 변환한다. 정수일 때는 소숫점 아래가 없지만, 실수일 때는 있다. >>> a = 1 >>> type( a ) <class 'int'> >>> print( a ) 1 >>> b = float( a ) >>> type( b ) <class 'float'> >>> print( b ) 1.0 숫자로 이루어진 문자열을 실수로 변경한다. >>> a = '1' >>> type( a ) <class 'str'> >>> print( ...

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

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

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

Python / PyCharm 설치하는 방법

Python / PyCharm 설치하는 방법

PyCharm는 Python 개발 도구 중의 하나입니다. JetBrains에서 만든 것으로, 모든 기능이 있는 프로페셔널 에디션과, 기능의 제한이 있지만 무료로 사용할 수 있는 커뮤니티 에디션이 있습니다. 아래는 OS가 Windows인 컴퓨터에 PyCharm 커뮤니티 에디션을 다운로드하고 설치하는 방법입니다. 참고로, Python이 설치되어 있지 않아도 괜찮습니다. PyCharm에서 프로젝트를 만들 때 자동으로 Python을 다운로드 합니다. PyCharm 페이지에서 를 클릭합니다. Community ...

Python / Visual Studio Code 개발 환경 만들기

Python / Visual Studio Code 개발 환경 만들기

파이썬 개발을 위한 도구는 여러 가지가 있습니다. Visual Studio Code도 그 중 하나입니다. VS Code에 Python 확장 기능을 설치하고, Hello World를 출력해보겠습니다. 확장 기능 설치 Visual Studio Code를 설치하고 실행합니다. 사각형 모양의 확장 기능 아이콘을 클릭합니다. python으로 검색한 후, 다운로드 수가 가장 많은 Microsoft가 만든 Python을 설치합니다. Reload Required를 클릭합니다.(VS Code 버전에 따라 나오지 않을 ...

Python / int() / 자료형을 정수로 변환하는 함수

Python / int() / 자료형을 정수로 변환하는 함수

int()는 데이터 타입을 정수로 변환하는 함수이다. 실수를 정수로 변환하는 경우 소숫점 아래 수를 없앤다. 숫자로 이루어진 문자열을 정수로 변환할 수 있다. >>> print( "int( 1.2 ) : ", int( 1.2 ) ) int( 1.2 ) : 1 >>> print( "int( 1.7 ) : ", int( 1.7 ) ) int( 1.7 ) : 1 >>> print( ...

Python / 반복문 / while

Python / 반복문 / while

while while은 주어진 조건이 참일 동안 작업을 반복하게 하는 구문입니다. 문법 while condition: statement condition : 작업을 하기 위한 조건입니다. 참일 동안 반복 작업을 합니다. statement : 반복할 작업입니다. 예제 i가 10보다 작으면 i을 출력합니다. 작업할 때마다 i는 1씩 커지고, i가 10이 되면 while문을 빠져나옵니다. i = 1 while i < 10: print(i, ...

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 / 자료형 / 숫자

숫자 자료 만들기 숫자 자료는 따옴표 없이 숫자만 넣어서 만든다. 소숫점이 없으면 정수형 자료, 소숫점이 있으면 실수형 자료가 만들어진다. 정수형 자료의 타입은 int, >>> a = 100 >>> print( type( a ) ) <class 'int'> 실수형 자료의 타입은 float이다. >>> a = 100.1 >>> print( type( a ) ) <class 'float'> 숫자 연산자 사칙 연산 +는 더하고, -는 빼고, *는 곱하고, /는 ...