指定された複数のキーがPythonの辞書に存在するかどうかを確認します
Pythonを使用したデータ分析中に、辞書にキーとしていくつかの値が存在するかどうかを確認する必要がある場合があります。そのため、分析の次の部分は、指定された値の一部であるキーでのみ使用できます。この記事では、これを実現する方法を説明します。
比較演算子を使用
チェックする値をセットします。次に、セットの内容が辞書のキーのセットと比較されます。> =記号は、辞書のすべてのキーが指定された値のセットに存在することを示します。
例
Adict = {"Mon":3, "Tue":11,"Wed":6,"Thu":9} check_keys={"Tue","Thu"} # Use comaprision if(Adict.keys()) >= check_keys: print("All keys are present") else: print("All keys are not present") # Check for new keys check_keys={"Mon","Fri"} if(Adict.keys()) >= check_keys: print("All keys are present") else: print("All keys are not present")
出力
上記のコードを実行すると、次の結果が得られます-
All keys are present All keys are not present
すべてで
このアプローチでは、forループを使用して、ディクショナリに存在するすべての値をチェックします。 all関数は、チェックキーセットのすべての値が指定された辞書に存在する場合にのみtrueを返します。
例
Adict = {"Mon":3, "Tue":11,"Wed":6,"Thu":9} check_keys={"Tue","Thu"} # Use all if all(key in Adict for key in check_keys): print("All keys are present") else: print("All keys are not present") # Check for new keys check_keys={"Mon","Fri"} if all(key in Adict for key in check_keys): print("All keys are present") else: print("All keys are not present")
出力
上記のコードを実行すると、次の結果が得られます-
All keys are present All keys are not present
サブセットあり
このアプローチでは、検索対象の値をセットとして取得し、それが辞書のキーのサブセットであるかどうかを検証します。このために、issubset関数を使用します。
例
Adict = {"Mon":3, "Tue":11,"Wed":6,"Thu":9} check_keys=set(["Tue","Thu"]) # Use all if (check_keys.issubset(Adict.keys())): print("All keys are present") else: print("All keys are not present") # Check for new keys check_keys=set(["Mon","Fri"]) if (check_keys.issubset(Adict.keys())): print("All keys are present") else: print("All keys are not present")
出力
上記のコードを実行すると、次の結果が得られます-
All keys are present All keys are not present
-
Pythonで辞書をキーで並べ替える方法は?
Pythonの標準配布には、コレクションモジュールが含まれています。高性能コンテナデータ型の定義があります。 OrderedDictは、ディクショナリオブジェクトに追加されたエントリの順序を記憶するディクショナリのサブクラスです。順序付けられた辞書を反復処理すると、アイテムはキーが最初に追加された順序で返されます。 >>> from collections import OrderedDict >>> D = {5:fff, 3:ttt, 1:ooo,4:bbb, 2:ddd} >>> OrderedDict(D.items()) &nb
-
Pythonの別の文字列に複数の文字列が存在するかどうかを確認するにはどうすればよいですか?
配列内の文字列のいずれかが別の文字列に存在するかどうかを確認するには、any関数を使用できます。 例 arr = ['a', 'e', 'i', 'o', 'u'] str = "hello people" if any(c in str for c in arr): print "Found a match" 出力 これにより、出力が得られます: Found a match 例 やり過ぎですが、正規表現を使用して配列を照合することもできます