소개
"Python Sets Lab"에 오신 것을 환영합니다. 숨 막히는 지하 세계 시나리오에서 Python set 의 신비로운 힘을 마스터하는 도전을 수행하게 됩니다. 배경은 불꽃이 타오르고 공기가 뜨거운 증기로 가득 찬 어두운 영역인 Infernal Forge(지옥 대장간) 입니다. 이곳에서 지하 세계의 지배자인 Demon King(악마 왕) 은 자신의 영역의 보물, 즉 중복될 수 없는 독특한 마법적 존재들이 사라지는 것을 발견했습니다. 고대 문서는 해결책을 제시합니다: 중복 없이 왕국의 자산을 관리하기 위해 Python set 을 활용하는 것입니다.
여러분이 받아들여야 할 임무는 Python set 의 힘을 활용하여 Demon King 이 각 보물이 대장간의 끔찍한 불꽃처럼 고유하도록 보물을 정리하는 것을 돕는 것입니다. 여러분의 기량을 Demon King 에게 보여주면, 지하 세계의 전설들 사이에서 칭찬받을 수 있을 것입니다.
첫 번째 Set 생성하기
이 단계에서는 Demon King 의 고유한 보물을 담을 첫 번째 Python set 을 생성합니다. /home/labex/project의 터미널에 이미 접속해 있다고 가정합니다. 간단한 set 을 생성하고 몇 가지 엔티티를 추가하여 기본부터 시작해 보겠습니다.
/home/labex/project/unique_treasures.py를 열고 다음 코드를 입력합니다.
## unique_treasures.py
## 빈 set 생성
treasures_set = set()
## set 에 고유한 보물 추가
treasures_set.add('Soul Gem')
treasures_set.add('Infernal Blade')
treasures_set.add('Cursed Crown')
print(treasures_set)
파일을 저장한 후, 다음 명령으로 코드를 실행합니다.
python unique_treasures.py
예상 출력은 세 개의 고유한 보물이 포함된 set 을 표시해야 합니다.
{'Soul Gem', 'Cursed Crown', 'Infernal Blade'}
set 은 순서를 유지하지 않으므로 순서가 다를 수 있습니다.
Set 연산
이제 set 을 생성했으니, set 연산을 수행하는 방법을 배울 차례입니다. Demon King 은 자신의 보물을 동맹 Overlord 의 보물과 합치고 싶지만, 각 항목을 한 번만 나열하기를 원합니다. 또한, 특별한 의식을 위해 동맹과 공통으로 가지고 있는 보물이 무엇인지 알고 싶어 합니다.
/home/labex/project/set_operations.py에 추가할 내용은 다음과 같습니다.
## set_operations.py
## Demon King 의 보물
demon_king_treasures = {'Soul Gem', 'Infernal Blade', 'Cursed Crown'}
## 동맹 Overlord 의 보물
overlord_treasures = {'Elixir of Immortality', 'Soul Gem', 'Chalice of Power'}
## 결합된 고유 컬렉션을 위한 두 set 의 합집합 (Union)
all_unique_treasures = demon_king_treasures.union(overlord_treasures)
## 공통 보물을 위한 두 set 의 교집합 (Intersection)
common_treasures = demon_king_treasures.intersection(overlord_treasures)
print('All Unique Treasures:', all_unique_treasures)
print('Common Treasures:', common_treasures)
저장 후, 다음 명령으로 프로그램을 실행합니다.
python set_operations.py
모든 고유 보물을 나열하는 출력과 Soul Gem을 나열하는 공통 보물을 볼 수 있습니다.
All Unique Treasures: {'Infernal Blade', 'Elixir of Immortality', 'Cursed Crown', 'Chalice of Power', 'Soul Gem'}
Common Treasures: {'Soul Gem'}
요약
이 랩에서는 Infernal Forge 와 Demon King 을 포함하는 상상력 넘치는 시나리오 내에서 Python set 의 세계를 탐구했습니다. 고유 항목을 관리하기 위해 Python 에서 간단한 set 을 생성하는 것으로 시작하여, union 및 intersection 과 같은 set 연산을 적용하여 복잡한 문제를 해결하는 것으로 진행했습니다.
전반적으로, Demon King 이 보물을 관리하는 것을 돕는 목표를 달성했을 뿐만 아니라, Python 의 강력한 데이터 구조인 set 에 대한 이해를 높였습니다.



