Python
 Computer >> コンピューター >  >> プログラミング >> Python

指定された複数のキーが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

  1. Pythonで辞書をキーで並べ替える方法は?

    Pythonの標準配布には、コレクションモジュールが含まれています。高性能コンテナデータ型の定義があります。 OrderedDictは、ディクショナリオブジェクトに追加されたエントリの順序を記憶するディクショナリのサブクラスです。順序付けられた辞書を反復処理すると、アイテムはキーが最初に追加された順序で返されます。 >>> from collections import OrderedDict >>> D = {5:fff, 3:ttt, 1:ooo,4:bbb, 2:ddd} >>> OrderedDict(D.items()) &nb

  2. 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 例 やり過ぎですが、正規表現を使用して配列を照合することもできます