Reputation: 1447
I have a dictionary that looks like this:
dictionary = {u'12.75': u' over ', u'2214.23': u' content ', u'2225.86': u' voor ', u'7.17': u' vraag ', u'11.01': u' bedrijf ', u'2228.27': u' wordt ', u'12.0': u' ik ', u'12.6': u' meer ', u'2223.29': u' ik ', u'6.9': u' paar ', u'17.22': u' binnen ', u'2216.86': u' solide ', u'23.67': u' ja ', u'12.09': u' dan ', u'2212.9': u' jij ', u'21.59': u' ja ', u'20.64': u' opleiding ', u'14.46': u' onderzoek ', u'0.54': u' nou ', u'2224.31': u' genoeg ', u'2223.98': u' ik ', u'2227.99': u' voor ', u'2225.03': u' dat ', u'3.18': u' heel ', u'2216.59': u' lukte ', u'2215.93': u' verder ', u'17.37': u' het ', u'2213.04': u' jij ', u'2226.13': u' is ', u'1.76': u' was ', u'11.66': u' maar ', u'2221.22': u' denk ', u'3.02': u' ben ', u'2216.42': u' dat ', u'12.43': u' iets ', u'11.84': u' ga ', u'2215.82': u' dat ', u'4.68': u' zelf ', u'2220.65': u' dat ', u'2.45': u' lekker ', u'2219.08': u' gekapt ', u'2215.73': u' om ', u'11.77': u' daar ', u'13.83': u' ik ', u'18.03': u' founder ', u'22.91': u' een ', u'14.91': u' ben ', u'5.27': u' koken ', u'2226.53': u' je ', u'2218.8': u' mijn ', u'22.19': u' ik ', u'2214.64': u' wordt ', u'14.18': u' van ', u'2226.59': u' hebt ', u'3.83': u' ik ', u'2224.61': u' ik ', u'20.25': u' zelf ', u'2227.1': u' alles ', u'16.89': u' functie ', u'2216.27': u' gaan ', u'9.81': u' eerst ', u'4.46': u' speel ', u'2221.49': u' was ', u'22.64': u' ik ', u'2224.73': u' zeg ', u'2.68': u' mee ', u'0.99': u' hele ', u'0.8': u' mijn ', u'19.2': u' klopt ', u'2.88': u' en ', u'3.59': u' pak ', u'10.08': u' over ', u'14.37': u' het ', u'13.9': u' zelf ', u'2226.38': u' en ', u'21.09': u' gedaan ', u'22.76': u' zo ', u'2215.2': u' ook ', u'2220.91': u' dat ', u'2213.5': u' alles ', u'2220.12': u' dus ', u'2221.1': u' is ', u'2221.4': u' ik ', u'17.43': u' bedrijf ', u'2220.4': u' wat ', u'2221.62': u' moeilijk ', u'2228.15': u' mij ', u'4.26': u' ik ', u'2224.13': u' weet ', u'13.67': u' wat ', u'22.49': u' of ', u'11.34': u' zelf ', u'2215.37': u' geprobeerd ', u'7.72': u' is ', u'1.23': u' jeugd ', u'2216.18': u' te '}
Now I rank this dictionary and call it sorted_dictionary:
sorted_dictionary = [(u'0.54', u' nou '), (u'0.8', u' mijn '), (u'0.99', u' hele '), (u'1.23', u' jeugd '), (u'1.76', u' was '), (u'10.08', u' over '), (u'11.01', u' bedrijf '), (u'11.34', u' zelf '), (u'11.66', u' maar '), (u'11.77', u' daar '), (u'11.84', u' ga '), (u'12.0', u' ik '), (u'12.09', u' dan '), (u'12.43', u' iets '), (u'12.6', u' meer '), (u'12.75', u' over '), (u'13.67', u' wat '), (u'13.83', u' ik '), (u'13.9', u' zelf '), (u'14.18', u' van '), (u'14.37', u' het '), (u'14.46', u' onderzoek '), (u'14.91', u' ben '), (u'16.89', u' functie '), (u'17.22', u' binnen '), (u'17.37', u' het '), (u'17.43', u' bedrijf '), (u'18.03', u' founder '), (u'19.2', u' klopt '), (u'2.45', u' lekker '), (u'2.68', u' mee '), (u'2.88', u' en '), (u'20.25', u' zelf '), (u'20.64', u' opleiding '), (u'21.09', u' gedaan '), (u'21.59', u' ja '), (u'22.19', u' ik '), (u'22.49', u' of '), (u'22.64', u' ik '), (u'22.76', u' zo '), (u'22.91', u' een '), (u'2212.9', u' jij '), (u'2213.04', u' jij '), (u'2213.5', u' alles '), (u'2214.23', u' content '), (u'2214.64', u' wordt '), (u'2215.2', u' ook '), (u'2215.37', u' geprobeerd '), (u'2215.73', u' om '), (u'2215.82', u' dat '), (u'2215.93', u' verder '), (u'2216.18', u' te '), (u'2216.27', u' gaan '), (u'2216.42', u' dat '), (u'2216.59', u' lukte '), (u'2216.86', u' solide '), (u'2218.8', u' mijn '), (u'2219.08', u' gekapt '), (u'2220.12', u' dus '), (u'2220.4', u' wat '), (u'2220.65', u' dat '), (u'2220.91', u' dat '), (u'2221.1', u' is '), (u'2221.22', u' denk '), (u'2221.4', u' ik '), (u'2221.49', u' was '), (u'2221.62', u' moeilijk '), (u'2223.29', u' ik '), (u'2223.98', u' ik '), (u'2224.13', u' weet '), (u'2224.31', u' genoeg '), (u'2224.61', u' ik '), (u'2224.73', u' zeg '), (u'2225.03', u' dat '), (u'2225.86', u' voor '), (u'2226.13', u' is '), (u'2226.38', u' en '), (u'2226.53', u' je '), (u'2226.59', u' hebt '), (u'2227.1', u' alles '), (u'2227.99', u' voor '), (u'2228.15', u' mij '), (u'2228.27', u' wordt '), (u'23.67', u' ja '), (u'3.02', u' ben '), (u'3.18', u' heel '), (u'3.59', u' pak '), (u'3.83', u' ik '), (u'4.26', u' ik '), (u'4.46', u' speel '), (u'4.68', u' zelf '), (u'5.27', u' koken '), (u'6.9', u' paar '), (u'7.17', u' vraag '), (u'7.72', u' is '), (u'9.81', u' eerst ')]
What I want to do now is to loop through the new dictionary to see if trigger words are there. However if I take a word which is obviously there in the dictionary (fe 'now') and I do this:
hit = 'nou'
for element in sorted_dictionary:
element_final = element[1].encode('ascii','ignore')
print element_final
if element_final == hit:
print "succes"
I do not get any hits ... Strange cause they are both:
<type 'str'>
Any thoughts on what goes wrong here? Thank you!
Upvotes: 0
Views: 59
Reputation: 11
try this: if element_final in hit:
I had this issue before and it worked for me.
Upvotes: 0
Reputation: 1844
You could check if word is in dict values another way:
if hit in dict(sorted_dictionary).values()
print("success")
There's also collections.OrderedDict
class which enables you to create sorted dict from sorted list of 2-value tuples.
Upvotes: 0
Reputation: 1653
You need to strip()
the whitespace around values.
for key, value in sorted_dictionary:
if value.strip() == hit:
print("success")
By the way, better way would be:
if hit in [v.strip() for v in dictionary.values()]:
print("success")
Upvotes: 0
Reputation: 92854
You have leading/trailing spaces around "trigger words" within your list of tuples. Use the following:
sorted_dictionary = [(u'0.54', u' nou '), (u'0.8', u' mijn '), (u'0.99', u' hele '), (u'1.23', u' jeugd '), (u'1.76', u' was '), (u'10.08', u' over '), (u'11.01', u' bedrijf '), (u'11.34', u' zelf '), (u'11.66', u' maar '), (u'11.77', u' daar '), (u'11.84', u' ga '), (u'12.0', u' ik '), (u'12.09', u' dan '), (u'12.43', u' iets '), (u'12.6', u' meer '), (u'12.75', u' over '), (u'13.67', u' wat '), (u'13.83', u' ik '), (u'13.9', u' zelf '), (u'14.18', u' van '), (u'14.37', u' het '), (u'14.46', u' onderzoek '), (u'14.91', u' ben '), (u'16.89', u' functie '), (u'17.22', u' binnen '), (u'17.37', u' het '), (u'17.43', u' bedrijf '), (u'18.03', u' founder '), (u'19.2', u' klopt '), (u'2.45', u' lekker '), (u'2.68', u' mee '), (u'2.88', u' en '), (u'20.25', u' zelf '), (u'20.64', u' opleiding '), (u'21.09', u' gedaan '), (u'21.59', u' ja '), (u'22.19', u' ik '), (u'22.49', u' of '), (u'22.64', u' ik '), (u'22.76', u' zo '), (u'22.91', u' een '), (u'2212.9', u' jij '), (u'2213.04', u' jij '), (u'2213.5', u' alles '), (u'2214.23', u' content '), (u'2214.64', u' wordt '), (u'2215.2', u' ook '), (u'2215.37', u' geprobeerd '), (u'2215.73', u' om '), (u'2215.82', u' dat '), (u'2215.93', u' verder '), (u'2216.18', u' te '), (u'2216.27', u' gaan '), (u'2216.42', u' dat '), (u'2216.59', u' lukte '), (u'2216.86', u' solide '), (u'2218.8', u' mijn '), (u'2219.08', u' gekapt '), (u'2220.12', u' dus '), (u'2220.4', u' wat '), (u'2220.65', u' dat '), (u'2220.91', u' dat '), (u'2221.1', u' is '), (u'2221.22', u' denk '), (u'2221.4', u' ik '), (u'2221.49', u' was '), (u'2221.62', u' moeilijk '), (u'2223.29', u' ik '), (u'2223.98', u' ik '), (u'2224.13', u' weet '), (u'2224.31', u' genoeg '), (u'2224.61', u' ik '), (u'2224.73', u' zeg '), (u'2225.03', u' dat '), (u'2225.86', u' voor '), (u'2226.13', u' is '), (u'2226.38', u' en '), (u'2226.53', u' je '), (u'2226.59', u' hebt '), (u'2227.1', u' alles '), (u'2227.99', u' voor '), (u'2228.15', u' mij '), (u'2228.27', u' wordt '), (u'23.67', u' ja '), (u'3.02', u' ben '), (u'3.18', u' heel '), (u'3.59', u' pak '), (u'3.83', u' ik '), (u'4.26', u' ik '), (u'4.46', u' speel '), (u'4.68', u' zelf '), (u'5.27', u' koken '), (u'6.9', u' paar '), (u'7.17', u' vraag '), (u'7.72', u' is '), (u'9.81', u' eerst ')]
hit = 'nou'
for element in sorted_dictionary:
element_final = element[1].strip()
if element_final == hit:
print(element, "succes")
The output:
('0.54', ' nou ') succes
Upvotes: 2