Issue
I have a piece of code here that is supposed to return the least common element in a list of elements, ordered by commonality:
def getSingle(arr):
from collections import Counter
c = Counter(arr)
return c.most_common()[-1] # return the least common one -> (key,amounts) tuple
arr1 = [5, 3, 4, 3, 5, 5, 3]
counter = getSingle(arr1)
print (counter[0])
My question is in the significance of the -1 in return c.most_common()[-1]
. Changing this value to any other breaks the code as the least common element is no longer returned. So, what does the -1 mean in this context?
Solution
One of the neat features of Python lists is that you can index from the end of the list. You can do this by passing a negative number to []
. It essentially treats len(array)
as the 0th index. So, if you wanted the last element in array
, you would call array[-1]
.
All your return c.most_common()[-1]
statement does is call c.most_common
and return the last value in the resulting list, which would give you the least common item in that list. Essentially, this line is equivalent to:
temp = c.most_common()
return temp[len(temp) - 1]
Answered By - Woody1193
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.