On 01/11/2020 13:38, Bischoop wrote:
> On 2020-11-01, Bischoop <bisch...@vimart.net> wrote:
>> I'm working on a script i which user inputs letters and then a printed
>> words containing those letters. The scripts works however I can't solve
>> one problem , it prints also words in which these letters occur more 
>> than once.
>> -------------------
>> Fore example:
>> Letters: at
>> Output: auto, autobahn.
>> -------------------
>>
>> I supposed to not print word: "autobahn" because I've given it only one
>> letter "a".
>>
> 
> Problem's solved.
> 
> ------------
> for word in words:
>     if all(word.count(x) == letters.count(x) for x in letters):
>             print(word)
> -------------
> 
> Thanks for suggestions, I didn't had to use counter but going to look
> into as it seems useful and interesting.
> 
> Thank You
> 

But this generates the letters counts for each word. They only need to
be generated once (outside the for loop). And using count requires
iterating over the letters / words for each x in letters (rather than
once). For a large enough collection of words you'd notice the difference.

Duncan
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to