So I'm trying to make this program that will ask the user for input and store the values in an array / list.
Then when a blank line is entered it will tell the user how many of those values are unique.
I'm building this for real life reasons and not as a problem set.
enter: happy enter: rofl enter: happy enter: mpg8 enter: Cpp enter: Cpp enter: There are 4 unique words!
My code is as follows:
# ask for input ipta = raw_input("Word: ") # create list uniquewords =  counter = 0 uniquewords.append(ipta) a = 0 # loop thingy # while loop to ask for input and append in list while ipta: ipta = raw_input("Word: ") new_words.append(input1) counter = counter + 1 for p in uniquewords:
..and that's about all I've gotten so far.
I'm not sure how to count the unique number of words in a list?
If someone can post the solution so I can learn from it, or at least show me how it would be great, thanks!
In addition, use collections.Counter to refactor your code:
from collections import Counter words = ['a', 'b', 'c', 'a'] Counter(words).keys() # equals to list(set(words)) Counter(words).values() # counts the elements' frequency
['a', 'c', 'b'] [2, 1, 1]