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!
You can use the combination of the SUM and COUNTIF functions to count unique values in Excel. The syntax for this combined formula is = SUM(IF(1/COUNTIF(data, data)=1,1,0)). Here the COUNTIF formula counts the number of times each value in the range appears.
In the numpy library, we will use numpy. unique() function, which returns the unique value of the input list. We can also return the count of each unique value if the return count parameter is set to be True.
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
Output:
['a', 'c', 'b'] [2, 1, 1]
You can use a set to remove duplicates, and then the len function to count the elements in the set:
len(set(new_words))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With