Betekenis van lijst[-1] in Python

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 arraywilt hebben, roep je array[-1]aan.

Al uw return c.most_common()[-1]-instructie doet is c.most_commonaanroepen 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]

Other episodes