On thing to note, you don't have to use a list comprehension here:
dict(t for t in adict.items() if t[0] in keylist)
will do the same exact thing without the extra []