<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">I brew this up. It works, but I think it will be slow with a long text and a big dictionary<br><br><div class="plainMail">def searchWord(text, dictionary):<br>&nbsp;&nbsp;&nbsp; '''search for terms in dictionary(key) and retrieve value(keywords)'''<br>&nbsp;&nbsp;&nbsp; text = text.split()<br>&nbsp;&nbsp;&nbsp; w = []<br>&nbsp;&nbsp;&nbsp; for word in text:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if word in dictionary:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print word<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l = dictionary[str(word)]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for i in l:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; w = w +
 [i]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print "can't find anything"<br><br>&nbsp;&nbsp;&nbsp; return w<br><br><br>dict1 = { 'had': ['1', '2'], 'little': ['a'] }<br>text = 'Mary had a little lamb'<br><br>w = searchWord(text, dict1)<br>print w<br><br><br></div></td></tr></table><br>