This lesson is only available in Korean for now.
Lesson 7 of 20

집합 — 순서도 중복도 없는 자루

무엇이 들었는지만 중요합니다

집합 — 순서도 중복도 없는 자루
집합은 담긴 것이 무엇인지만 봅니다. 순서도, 몇 번 넣었는지도 따지지 않습니다.

집합(set)은 서로 다른 것들의 모임입니다. 자루에 물건을 넣는다고 생각하세요. 자루를 흔들어도 내용물은 그대로고, 같은 사과를 두 번 넣어도 사과는 하나입니다.

🎒
순서 없음
{1,2,3} = {3,1,2}
1️⃣
중복 없음
{1,1,2} = {1,2}
❓
소속만 물음
있다 / 없다, 둘 중 하나

이 세 가지가 리스트와의 결정적 차이입니다. 리스트는 순서가 있고 중복도 되지만, 집합은 "이게 들어 있나?"라는 단 하나의 질문에 특화되어 있어요.

기호도 알아 둡시다. 3 ∈ A 는 "3은 A의 원소이다", 3 ∉ A 는 "원소가 아니다"라고 읽습니다.

집합은 '무엇이 들었는가'만 기억합니다.
Python Runs in your browser

🎮 자루에 직접 넣어 보세요

같은 원소를 두 번 넣어 보고, 순서를 바꿔 넣어 보세요. 몇 번을 넣어도 자루 안은 그대로라는 것이 집합의 성격입니다.

집합 자루 — 넣고, 빼고, 소속을 물어봅니다
Loading…

집합을 적는 두 가지 방법

  • 원소나열법 — A = {2, 4, 6, 8}. 원소가 적을 때.
  • 조건제시법 — A = {x | x는 10 미만의 짝수}. | 는 "단, 이런 조건"이라고 읽습니다. 원소가 많거나 무한할 때.

조건제시법은 파이썬의 내포(comprehension) 문법과 모양이 똑같습니다. {x for x in range(10) if x % 2 == 0} — 수학 기호를 그대로 옮겨 놓았어요.

수학의 { x | 조건 } 이 파이썬에서는 { x for x in ... if 조건 } 입니다.
Python Runs in your browser

부분집합 — 통째로 들어 있나

A ⊆ B 는 "A의 모든 원소가 B에도 있다"는 뜻입니다. 5강의 기호로 쓰면 ∀x (x ∈ A → x ∈ B) 예요 — 한정기호와 조건명제가 여기서 만납니다.

재미있는 사실 둘.

  • 공집합은 모든 집합의 부분집합입니다. 어길 원소가 없으니까요 (공허한 참!).
  • 원소가 n개인 집합의 부분집합 개수는 2n개입니다. 각 원소마다 "넣는다/뺀다" 두 가지를 고르니까요 — 2강의 진리표와 똑같은 계산이에요.
부분집합 전체를 모은 것을 멱집합(power set)이라 합니다.
Python Runs in your browser
🤔 Check yourself
{1, 2, 2, 3, 1} 의 원소 개수는?
🤔 Check yourself
원소가 4개인 집합의 부분집합은 모두 몇 개일까요?
🤔 Check yourself
공집합 ∅ 에 대해 옳은 것은?