Finding matching keys in two large dictionaries and doing it fast
Use sets, because they have a built-in intersection method which ought to be quick: myRDP = { ‘Actinobacter’: ‘GATCGA…TCA’, ‘subtilus sp.’: ‘ATCGATT…ACT’ } myNames = { ‘Actinobacter’: ‘8924342’ } rdpSet = set(myRDP) namesSet = set(myNames) for name in rdpSet.intersection(namesSet): print name, myNames[name] # Prints: Actinobacter 8924342