【Python】14日目 – [集合] ~ 和, 差, 積を学ぶ

ポイント

プログラミング学習が義務教育でも取り入れられるようになり、ほぼすべての人が避けては通れない時代に突入してしまいました。
基本的にはローコードやノーコードテクノロジーが発達し、個人で隅々まで覚える必要はないとも言えますが、やはり自在に操れればまさに100人力とも言えます。
プログラミングがあなたのやりたい何かに合致した場合、是非100日でサクッと覚えてしまいましょう。
100日でざっくりと基礎を身に着けられるように構成しています。

【Python】環境構築 Windows 10 (エラー対処法も)

Pythonを学ぶべき5つの理由

pandas100日チャンレジはこちら

Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学ぶオンライン講座

和, 差, 積を学ぶ

.union()
.difference()
.intersection()
対称差.symmetric_difference()
部分集合かの判定.issubset()

集合では、和集合、差集合、積集合、対称差などそれぞれ数学的な演算処理を行うことができます。

ポイント

和は論理和を表す記号 | 、積は論理積を表す記号 & 、差は – を使って演算します。

演算後の結果が集合となる場合は、常に新しいオブジェクトとなります。

では、早速コードを書いていきましょう。

def main():
    union_A = {1, 2, 3} | {2, 3, 4}
    print(union_A)

    intersection_B = {1, 2, 3} & {2, 3, 4}
    print(intersection_B)

    difference_C = {1, 2, 3} - {2, 3, 4}
    print(difference_C)

if __name__ == '__main__':
    main()

このようになっています。

def main():
if __name__ == '__main__':
    main()

は後々コラムでご紹介しますので、今はとにかく写経してみてください。

対称差と部分集合の判定

ポイント

対称差の演算は記号 ^ 、部分集合の判定には <= もしくは >= を使用します。

def main():
    # 集合の対称差
    test_a = {1, 2, 3} ^ {2, 3, 4}
    print(test_a)

    # 左辺の要素がすべて右辺の集合に含まれている
    test_b = {1, 3} <= {1, 2, 3}
    print(test_b)

    # 右辺の要素がすべて左辺の集合に含まれている
    test_c = {4, 5, 6} >= {4, 5}
    print(test_c)

    # 左辺に右辺の集合に存在しない要素が含まれている場合
    test_d = {3, 4} <= {1, 2, 3}
    print(test_d)


if __name__ == '__main__':
    main()

実行結果はこのようになりました。

じっくり頭の中で整理しながらコードを書いていかないと、ぐちゃぐちゃになってしまいますので、どことどこがシェアしているのか?または、シェアしていないのか?しっかり整理しながらテストしていきましょう。

こうたろう

服部 洸太郎

フォトグラファー&サウンドデザイナー
ミュージシャンだった父の音楽スタジオと、モデルだった母の仕事場であるフォトスタジオの現像ルームが子供時代の遊び場という恵まれた環境で育つ。
音楽大学を卒業後ピアニストとして活動を開始。
自身のピアノトリオで活動後単身ドイツ・ケルンへ渡独。
ケルンを拠点に活動するアーティストAchim Tangと共に「ピアノとコントラバスのためのソナタ」を制作。
ドイツから帰国後ピアノソロ作品アルバムと共に同時リリース。
金田式電流伝送DC録音の第一人者である五島昭彦氏のスタジオ「タイムマシンレコード」にアシスタントとして弟子入り。
独立後、音楽プロデューサーとして音楽レーベル「芸術工房Pinocoa(現在はKotaro Studioに統合)」を立ち上げ、タンゴやクラシックを中心としたアコースティック音楽作品を多数プロデュース。
その後、秋山庄太郎氏後継の写真スタジオ「村上アーカイブス」でサウンドデザイナー兼音響担当として映像制作チームに参加し、本格的に写真、映像技術を学ぶ。
現在は元ピアニストの経験を生かしたミュージシャンのライブフォトを得意としながら、肖像写真、動物写真、自然写真を中心にミュージックビデオの制作などオーディオ技術も得意とするフォトグラファーとして活動中。