# We got some data in form of a string like this
# the data goes from 0 to 4 and I want to
# count how many 0,1,2,3 and 4 are there
# PS: I've taken them from a google module
# for statistic purpose
data = "2 3 0 0 4 3 2 3 3 0 0 4 2 1 0 2 0 0 1 0 2 2 3 2 0 3 2 0 1 1 3 2 2 2 1 0 0 3 1 2 2 4 2 1 0 0 0 0 2 3 1 0 1 0 2 1 3 3 1 2 2 2 2 1 3 1 2 0 3 1 3 0 3 1 3 0"
# Let's transform the string in a list with the split() method of the string objects
listnum = data.split()
# Now, let's use a list comprehension to populate a list with
# numbers instead of strings
""" other way to change strings in a list into integers
for lit in listnum:
listnum[listnum.index(lit)]=int(lit)
"""
# We will use this way
listnum2 = [int(lit) for lit in listnum]
# The converted in int list
print(listnum2)
# Now we create a dictonary with
# keys = "0" "1" "2" "3" or "4"
# and the values are the number of
# times they repeat themselves
# this is the same method used
# for counting the words in Pinocchio
# in the last post
count = {}
for nums in listnum2:
count.setdefault(str(nums), 0)
count[str(nums)] = count[str(nums)] + 1
tot = 0
# Now I count how many elements there
# are...
for x in count:
tot += count[x]
print("Total occurrance: ", tot)
print("val. assoluti",count)
totale3 = [int(count[x]/tot*100) for x in count]
totale4 = [str(x)+"%" for x in totale3]
print("Percentuali % : ", totale4)
--------------------- OUTPUT ---------------------------
Comments
Post a Comment