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 / 반복문 / for

Python / 반복문 / for

Python에서 반복 작업을 할 때 for 또는 while을 사용합니다. for에 대하여 알아봅니다. 기본 반복 횟수는 range() 함수로 만듭니다. 예를 들어 range(3)는 0, 1, 2를 생성하므로 3번 반복하게 됩니다. for i in range(3) : print( i, "Hello World!" ) 0 Hello World! 1 Hello World! 2 Hello World! 1부터 100까지의 합 구하기 range() 함수로 1부터 100까지 ...

Python / PIP(Python Package Index) 사용법

Python / PIP(Python Package Index) 사용법

Python Package Index Python Package Index는 파이썬 패키지들이 모여 있는 저장소입니다. The Python Package Index (PyPI) is a repository of software for the Python programming language. pip 명령어로 패키지를 로컬 머신에 설치하고 삭제하고 업데이트할 수 있습니다. PIP pip는 파이썬으로 작성된 패키지 소프트웨어를 관리하는 패키지 관리 시스템입니다. 파이썬 2.7.9 이후 버전과 파이썬 3.4 이후 버전은 pip를 ...

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 / PyCharm 설치하는 방법

Python / PyCharm 설치하는 방법

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

Python / 자료형 / 리스트(list)

Python / 자료형 / 리스트(list)

리스트(list) 여러 개의 자료를 하나의 변수로 관리할 때 사용합니다. 리스트 만들기 리스트는 대괄호로 만듭니다. >>> jb = 빈 리스트를 만들 수 있습니다. >>> jb = 리스트 출력하기 print() 함수로 출력해봅니다. >>> jb = >>> print(jb) 리스트는 인덱스를 가집니다. 인덱스를 이용해서 특정 위치의 값을 출력할 수 있습니다. >>> print(jb) four >>> print(jb) 5 범위를 출력할 수 있습니다. >>> print(jb) >>> ...

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 / input() / 사용자가 입력한 값을 변수에 저장하는 함수

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

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

Python / Package / flake8 - PEP(Python Enhance Proposal) 검증 패키지 사용법

Python / Package / flake8 - PEP(Python Enhance Proposal) 검증 패키지 사용법

Style Guide for Python Code 여러 명이 공동으로 파이썬 코딩을 할 때, 각자의 스타일이 다르면 문제가 생길 수 있습니다. 그래서 협업을 수월하게 할 수 있도록 몇 가지 규칙을 정놓았는데, 이를 PEP(Python Enhance Proposal)라고 합니다. 몇 가지 규칙을 나열해보면... Use 4 spaces per indentation level. : 들여쓰기는 4칸의 공백 Limit all lines to a ...

Python / Database / 연결하는 방법

Python / Database / 연결하는 방법

Python으로 Database에 연결하고 데이터를 조회해 봅니다. Microsoft SQL Server 패키지 설치하기 pymssql를 설치합니다. pip install pymssql 연결하고 데이터 조회하기 pymssql를 import합니다. import pymssql 연결 설정을 합니다. conn = pymssql.connect( server = 'server-ip', port = port-number, user = 'user-name', password = 'pasword', database = 'database-name' ) cursor를 ...

Python / print() / 출력하는 함수

Python / print() / 출력하는 함수

Python의 print() 함수 사용법을 정리합니다. 큰 따옴표를 이용하여 Hello를 출력합니다. print("Hello") Hello 작은 따옴표를 이용하여 Hello를 출력합니다. print('Hello') Hello 작은 따옴표를 출력하려면 큰 따옴표로 감쌉니다. print("'Hello'") 'Hello' 큰 따옴표를 출력하려면 작은 따옴표로 감쌉니다. print('"Hello"') "Hello" 쉼표로 연결할 수 있습니다. 공백이 생깁니다. print("Hello","JB") Hello JB print() 함수를 연달아 사용하면 다른 줄에 출력됩니다. print("Hello") print("JB") Hello JB 줄바꿈 없이 출력하려면 end를 사용합니다. print("Hello",end=" ") print("JB") Hello JB sep를 이용하여 출력 값 사이에 특정 문자를 넣을 수 있습니다. print("A","B","C","D",sep=" ...