Intersecting two dictionaries
I am working on a search program over an inverted index. The index itself is a dictionary whose keys are terms and whose values are themselves dictionaries of short documents, with ID numbers as keys...
View ArticleAnswer by James for Intersecting two dictionaries
In general, to construct the intersection of dictionaries in Python, you can first use the & operator to calculate the intersection of sets of the dictionary keys (dictionary keys are set-like...
View ArticleAnswer by Eric Urban for Intersecting two dictionaries
Just wrap the dictionary instances with a simple class that gets both of the values you wantclass DictionaryIntersection(object): def __init__(self,dictA,dictB): self.dictA = dictA self.dictB = dictB...
View ArticleAnswer by Phillip Cloud for Intersecting two dictionaries
A little known fact is that you don't need to construct sets to do this:Python 3d1 = {'a': 1, 'b': 2} d2 = {'b': 2, 'c': 3} print(d1.keys() & d2.keys()) # {'b'}Python 2In Python 2, we replace keys...
View ArticleAnswer by emnoor for Intersecting two dictionaries
In [1]: d1 = {'a':1, 'b':4, 'f':3}In [2]: d2 = {'a':1, 'b':4, 'd':2}In [3]: d = {x:d1[x] for x in d1 if x in d2}In [4]: dOut[4]: {'a': 1, 'b': 4}
View ArticleAnswer by thodnev for Intersecting two dictionaries
Okay, here is a generalized version of code above in Python3.It is optimized to use comprehensions and set-like dict views which are fast enough.Function intersects arbitrary many dicts and returns a...
View ArticleAnswer by dccsillag for Intersecting two dictionaries
In Python 3, you can useintersection = dict(dict1.items() & dict2.items())union = dict(dict1.items() | dict2.items())difference = dict(dict1.items() ^ dict2.items())
View ArticleAnswer by WloHu for Intersecting two dictionaries
Your question isn't precise enough to give single answer.1. Key IntersectionIf you want to intersect IDs from posts (credits to James) do:common_ids = p1.keys() & p2.keys()However if you want to...
View ArticleAnswer by Aaron Goldman for Intersecting two dictionaries
def two_keys(term_a, term_b, index): doc_ids = set(index[term_a].keys()) & set(index[term_b].keys()) doc_store = index[term_a] # index[term_b] would work also return {doc_id: doc_store[doc_id] for...
View ArticleAnswer by soldovskij for Intersecting two dictionaries
To find full intersection by keys and valuesd1 = {'a':1}d2 = {'b':2, 'a':1}{x:d1[x] for x in d1 if x in d2 and d1[x] == d2[x]}>> {'a':1}
View ArticleAnswer by plunker for Intersecting two dictionaries
None of the solutions so far solve the general case of intersecting N dictionaries.So, if you want to handle the intersection of N arbitrary dictionaries:from functools import reducedef...
View Article