Ihre Frage ist nicht präzise genug, um eine einzige Antwort zu geben.
1. Schlüsselkreuzung
Wenn Sie ID
s von Posts ( Credits an James ) überschneiden möchten, gehen Sie wie folgt vor :
common_ids = p1.keys() & p2.keys()
Wenn Sie jedoch Dokumente iterieren möchten, müssen Sie berücksichtigen, welcher Beitrag Priorität hat. Ich gehe davon aus, dass dies der Fall ist p1
. Das Iterieren von Dokumenten für common_ids
ist collections.ChainMap
am nützlichsten:
from collections import ChainMap
intersection = {id: document
for id, document in ChainMap(p1, p2)
if id in common_ids}
for id, document in intersection:
...
Oder wenn Sie kein separates intersection
Wörterbuch erstellen möchten :
from collections import ChainMap
posts = ChainMap(p1, p2)
for id in common_ids:
document = posts[id]
2. Elemente Schnittpunkt
Wenn Sie Elemente beider Beiträge überschneiden möchten , dhID
s und Dokumente abgleichen möchten , verwenden Sie den folgenden Code ( Gutschriften für DCPY ). Dies ist jedoch nur dann nützlich, wenn Sie nach Duplikaten suchen.
duplicates = dict(p1.items() & p2.items())
for id, document in duplicates:
...
3. Iterieren Sie über p1
'UND' p2
.
Wenn Sie mit " UND" suchen und beide Beiträge iter
durchsuchen möchten, ist es am besten, (fast) alle Elemente in mehreren Beiträgen zu durchlaufen:collections.ChainMap
from collections import ChainMap
for id, document in ChainMap(p1, p2):
...