Working with lists and dictionaries

Hello,

Here is a unperfect attempt to handle lists and dictionaries.
It works on this case 

df=pd.DataFrame([('William', 'the great'),('Ourgo' ,'the brave')], columns=['surname','pseudo'])
a=[('William', 'Bill')]
b=   {'Bill': '2341', 'Beth': '9102', 'Cecil': '3258'}
sqldf("select  *  from  df inner join  a on surname=a.c0 inner join b on a.c1=b.c0    ", locals())