変数の入れ子を使い、
とあるセットにある値と、違うセットにある値を比較し、両方に含まれる値を取り出してみましょう。
関ヶ原の東軍と西軍の武将を比較し、両方に属する武将を調べてみましょう!
busyou = {
'豊臣':{'長宗我部','小早川','真田','石田'},
'徳川':{'伊達','真田','小早川','本多'}
}
kyoutuu = busyou['豊臣'] & busyou['徳川']
print(kyoutuu)
出力結果:{‘真田’, ‘小早川’}
真田は親子で東軍西軍に別れ、小早川は何故か両方に属する結果になりました!
集合演算
続いて集合演算というものを使ってみましょう
これはグループAとグループBを並べて集合、差異などを抽出する演算です。
先程より人数を多くしてみます。
tougun = {'徳川','伊達','真田','小早川','本多'}
seigun = {'豊臣','長宗我部','小早川','真田','石田'}
# 全員
print('東西合わせた人数')
print(tougun|seigun)
#両方に属する
print('何故か両方に属している人々')
print(tougun&seigun)
#片方にしか属さない
print('東軍にいて西軍にいない人')
print(tougun-seigun)
#差異となっている人たち
print('差異となっている人たち')
print(tougun^seigun)
出力結果:
東西合わせた人数
{‘真田’, ‘小早川’, ‘長宗我部’, ‘石田’, ‘徳川’, ‘本多’, ‘豊臣’, ‘伊達’}
何故か両方に属している人々
{‘真田’, ‘小早川’}
東軍にいて西軍にいない人
{‘本多’, ‘伊達’, ‘徳川’}
差異となっている人たち
{‘本多’, ‘豊臣’, ‘長宗我部’, ‘伊達’, ‘石田’, ‘徳川’}
家康「我が軍にしかいない者は!」
本多「本多、伊達、徳川にございます!」
家康「敵で裏切りそうな者は!」
本多「真田、小早川にございます!」
家康「真田は嫌だ!」
みたいな会話がこの表でできますね!
Visited 1 times, 1 visit(s) today