PythonでSetのIntersection()を使用し2つの辞書から共通キーを取得する

スポンサーリンク

PythonでSetのIntersection()を使用し2つの辞書から共通キーを取得してみます。

Setのintersection()メソッドは、2つ以上のSet間の類似性を含むセットを返すことができます。なお、返されたSetには、両方のセットに存在するアイテムのみが含まれる。

■Python

Google Colaboratory(Google Colab),2022年11月25日現在、Python 3.7.15を使用している。

■論理演算子&(and)を用いて2つの辞書内から共通のキー(Key)を取得する

では、早速論理演算子&(and)を用いて2つの辞書内から共通のキー(Key)を取得するスクリプトを書いていきます。

■コード

a = {"a": 1, "b": 2, "c": 5, "d": 6}
b = {"c": 5, "d": 6, "e": 10, "f": 11}

common_key_data = set(a).intersection(b)

for key in sorted(common_key_data):
    print(key, end=" ")

まず、今回はaという変数を定義し、その中で波括弧”{ }”を用いて辞書を定義します。辞書内にはキー(Key)と値(Value)のペアを格納します。格納後、同じようにして今度はbという変数を定義します。こちらも、変数内に波括弧”{ }”を用いて辞書を定義します。辞書内にはキーと値のペアを格納しますが、今回はaという辞書内と共通するキー(Key)を格納します。これで2つの辞書が用意できました。

次にcommon_key_dataという変数を定義し、その中でset()を用います。括弧内には引数,パラメータとして、a変数を渡します。これでa変数でセットを生成しました。これは集合を表すデータ型となったことを意味します。さらにこれに対して”.”(ドット)を使いintersection()を用います。括弧内にはb変数を渡します。

これで、a変数とb変数に共通する全ての要素を含む最大のセットが返されて、common_key_data変数内に格納されます。

格納後、for文を用いてcommon_key_data変数に対してsorted()を用いて変数内のキーを並び替え、並び替えられたキーを順番に取り出し、keyというループ変数に格納します。格納後、print()でkey変数の情報を出力します。出力の際に引数,パラメータとして出力した後(末尾)に「” “(空白)」を出力させます。

■実行・検証

このセルを保存し、Google Colaboratory上で、セルを実行してみます。

実行してみると、SetのIntersection()を使用し2つの辞書から共通キーを取得し、取得した共通キーを出力させることができました。

コメント

タイトルとURLをコピーしました