chars.keys()
- это список, поэтому
chars.keys() in ordlista(list):
никогда не будет Истиной. То, что вы хотите, - это совпадение букв с каждым словом в вашем списке. Поэтому я бы предложил
charsum = sum(chars.values())
for word in wordlist:
if len(word) == charsum and all([(word.count(c) == chars[c]) for c in chars]):
print "YES for word '%s'" % word
РЕДАКТИРОВАТЬ: Если вы хотите, чтобы слова соответствовали тем, у которых не менее , то буква считается (то есть слово с 3 а будет соответствовать вводу двух а), тогда вам придется изменить ==
до >=
.
РЕДАКТИРОВАТЬ2: Поскольку вам нужны точные совпадения, самым простым решением будет подсчитать количество символов и убедиться, что слово имеет такую длину.