1. ホーム
  2. python

[解決済み] ある辞書が他の大きな辞書のサブセットであるかどうかを確認する方法は?

2022-05-18 10:35:09

質問

カスタムフィルタメソッドを書こうとしています。 kwargs を受け取り、それらを含むデータベースのようなリストの要素を含むリストを返すカスタムフィルタメソッドを書こうとしています。 kwargs .

例えば d1 = {'a':'2', 'b':'3'}d2 =は同じものです。 d1 == d2 の結果はTrueになります。しかし、仮に d2 = は同じもので、さらに他のたくさんのものを含んでいるとします。私のメソッドは d1 in d2 しかし、Pythonは辞書でそれを行うことはできません。

コンテキストです。

Wordのクラスがあり、各オブジェクトは以下のようなプロパティを持っています。 word , definition , part_of_speech といった具合に。これらの単語のメインリストに対して、次のようなフィルタメソッドを呼び出せるようにしたい。 Word.objects.filter(word='jump', part_of_speech='verb-intransitive') . これらのキーと値を同時に管理する方法がわかりません。しかし、これは他の人のためにこの文脈の外でより大きな機能を持つ可能性があります。

どのように解決するのですか?

項目ペアに変換して、含まれているかどうかをチェックします。

all(item in superset.items() for item in subset.items())

最適化は読者のための練習として残されています。