Ik heb moeite om te begrijpen wat de return doet en wat de betekenis van de -1 is, aangezien het veranderen ervan niet de minst voorkomende waarde in de lijst oplevert.
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])
Antwoord 1, autoriteit 100%
Een van de handige functies van Python-lijsten is dat u vanaf het einde van de lijst kunt indexeren. U kunt dit doen door een negatief getal door te geven aan []
. Het behandelt in wezen len(array)
als de 0e index. Dus als je het laatste element in array
wilt hebben, roep je array[-1]
aan.
Al uw return c.most_common()[-1]
-instructie doet is c.most_common
aanroepen en de laatste waarde in de resulterende lijst retourneren, wat u zou geven het minst voorkomende item in die lijst. In wezen is deze regel gelijk aan:
temp = c.most_common()
return temp[len(temp) - 1]