# your code goes here
def joinTable( tbl1, tbl2 ):
op = []
if len( tbl1 ) > 0 and len( tbl2 ) > 0:
keys = set( tbl1[0].keys()).intersection( tbl2[0].keys())
opkeys = set( tbl1[0].keys()).union( tbl2[0].keys())
for row1 in tbl1:
key1 = set( row1.keys())
for row2 in tbl2:
key2 = set( row2.keys())
assert key1.intersection( key2 ) == keys
assert key1.union( key2 ) == opkeys
match = True
for key in keys:
match = row1[ key] == row2[key]
if match:
d = dict()
for key in opkeys:
d[ key ] = row1[ key ] if key in row1 else row2[key]
op.append( d )
return op
print joinTable( [{'s_id': 'bb', 'title': 'Breaking Bad'},{'s_id': 'bcs', 'title': 'Better Call Saul'}],[
{'c_id': 'ww', 's_id': 'bb'},{'c_id': 'sw', 's_id': 'bb'}, {'c_id': 'sg', 's_id': 'bb'},{'c_id': 'sg', 's_id': 'bcs'}])
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCgpkZWYgam9pblRhYmxlKCB0YmwxLCB0YmwyICk6CglvcCA9IFtdCglpZiBsZW4oIHRibDEgKSAgPiAwIGFuZCBsZW4oIHRibDIgKSA+IDA6CgkJa2V5cyA9IHNldCggdGJsMVswXS5rZXlzKCkpLmludGVyc2VjdGlvbiggdGJsMlswXS5rZXlzKCkpCgkJb3BrZXlzID0gc2V0KCB0YmwxWzBdLmtleXMoKSkudW5pb24oIHRibDJbMF0ua2V5cygpKQoJCWZvciByb3cxIGluIHRibDE6CgkJCWtleTEgPSBzZXQoIHJvdzEua2V5cygpKQoJCQlmb3Igcm93MiBpbiB0YmwyOgoJCQkJa2V5MiA9IHNldCggcm93Mi5rZXlzKCkpCgkJCQlhc3NlcnQga2V5MS5pbnRlcnNlY3Rpb24oIGtleTIgKSA9PSBrZXlzCgkJCQlhc3NlcnQga2V5MS51bmlvbigga2V5MiApID09IG9wa2V5cwoJCQkJbWF0Y2ggPSBUcnVlCgkJCQlmb3Iga2V5IGluIGtleXM6CgkJCQkJbWF0Y2ggPSByb3cxWyBrZXldID09IHJvdzJba2V5XQoJCQkJaWYgbWF0Y2g6CgkJCQkJZCA9IGRpY3QoKQoJCQkJCWZvciBrZXkgaW4gb3BrZXlzOgoJCQkJCQlkWyBrZXkgXSA9IHJvdzFbIGtleSBdICBpZiBrZXkgaW4gcm93MSBlbHNlIHJvdzJba2V5XQoJCQkJCW9wLmFwcGVuZCggZCApCglyZXR1cm4gb3AKCQpwcmludCBqb2luVGFibGUoIFt7J3NfaWQnOiAnYmInLCAndGl0bGUnOiAnQnJlYWtpbmcgQmFkJ30seydzX2lkJzogJ2JjcycsICd0aXRsZSc6ICdCZXR0ZXIgQ2FsbCBTYXVsJ31dLFsKeydjX2lkJzogJ3d3JywgJ3NfaWQnOiAnYmInfSx7J2NfaWQnOiAnc3cnLCAnc19pZCc6ICdiYid9LCB7J2NfaWQnOiAnc2cnLCAnc19pZCc6ICdiYid9LHsnY19pZCc6ICdzZycsICdzX2lkJzogJ2Jjcyd9XSkKCQkJCQkJCgkJCQk=
[{'s_id': 'bb', 'title': 'Breaking Bad', 'c_id': 'ww'}, {'s_id': 'bb', 'title': 'Breaking Bad', 'c_id': 'sw'}, {'s_id': 'bb', 'title': 'Breaking Bad', 'c_id': 'sg'}, {'s_id': 'bcs', 'title': 'Better Call Saul', 'c_id': 'sg'}]