Create two dictionaries, one for each file. For instance:
file1 = {}
for line in open('file1', 'r'):
k, v = line.strip().split(':')
file1[k] = v
Or, if you prefer one liner:
file1 = dict(l.strip().split(':') for l in open('file1', 'r'))
Then you can do something like:
result = {}
for key, value in file1.iteritems():
if value in file2:
result[key] = file2[value]
- - 1 . , 1 foo:bar, 1 dict {bar: foo}.
for key in set(file1) & set(file2):
result[file1[key]] = file2[key]
, , set intersection, 2, .
: @pepr. collections.OrderedDict , .