セット演算
これでセットを作成しましたので、セット演算を行う方法を学ぶ時が来ました。魔王は、同盟の支配者の宝と自分の宝を合わせたいが、各ユニークなアイテムを1度だけリストしたいと考えています。また、特別な儀式のために、同盟と共通の宝が何か知りたいと思っています。
/home/labex/project/set_operations.py
に追加するコードは次の通りです。
## set_operations.py
## 魔王の宝
demon_king_treasures = {'Soul Gem', 'Infernal Blade', 'Cursed Crown'}
## 同盟の支配者の宝
overlord_treasures = {'Elixir of Immortality', 'Soul Gem', 'Chalice of Power'}
## 合わせたユニークなコレクションのための両セットの和集合
all_unique_treasures = demon_king_treasures.union(overlord_treasures)
## 共通の宝のための両セットの積集合
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'}