1

この質問と同様に、辞書の 2 つのリストの共通点を知りたいです。

他の質問では、リスト内の辞書の交差を取得する方法を尋ねます。

>>> dicts = [dict(a=3, b=89, d=2), dict(a=3, b=89, c=99), dict(a=3, b=42, c=33)]

解決策は次のとおりです。

dict(set.intersection(*(set(d.iteritems()) for d in dicts)))

ただし、辞書の2つのリストの共通部分を取得し、内部辞書の共通部分を取得する方法を知りたいです。

もしわたしが持っていたら:

>>> dicts1 = [dict(a=3, b=89, d=2), dict(a=3, b=89, c=99), dict(a=3, b=42, c=33)]
>>> dicts2 = [dict(a=3, b=89, d=2), dict(a=1, b=89, c=99), dict(a=0, b=42, c=33)]

私が欲しい

{a=3m, b=89, b=42}

印刷するのは、dicts1 のすべての辞書で発生するからではなく、dicts1 の辞書と dict2 の辞書で発生するためです。各配列のどこにあるかは気にしません。それが起こるというだけです。

4

1 に答える 1