J'essaie d'obtenir la liste qui a la plus haute valeur dans une liste de listes. J'ai quelque chose comme ceci: et je souhaite récupérer la liste qui a la dernière valeur la plus élevée, première liste dans ce cas. Comment devrais-je aller à ce sujet? P> P>
3 Réponses :
Utiliser max code> avec une touche:
max(Lists, key=lambda x: x[-1])
>>> [0, 7, 6, 8]
Je ne peux pas taper assez vite il semble. J'ai eu la même solution.
Mon mauvais, je n'ai pas vu cette solution quand je mets la mienne. J'ai posté une autre variation de fondement la même chose.
en utilisant comment ce qui précède fonctionne: strong> p> Note latérale, max () code>
+ opérateur.Itemplgeter () code> a >:
itemGetter (-1) code> récupère le dernier élément et Applique la clé code> argument code> de
max () code>, ce qui indique que le max doit être trouvé en comparant le dernier élément de chaque subliste. P>
max () code> est toujours O (n), car vous devez vérifier chaque élément de la liste pour déterminer l'élément maximal. p> p>
Très bonne réponse. Il montre le droit de laisser l'indexation d'une liste, avec le dernier élément ayant l'index -1.
Autre option:
array = [[0,7,6,8],[1,4,6,5], [12,1,8,3]] max_i, max_e = 0, array[0][-1] for i, e in enumerate(array): if e[-1] > max_e: max_i, max_e = i, e[-1] array[max_i] #=> [0, 7, 6, 8]
Qu'est-ce que tu as essayé jusque-là?
J'ai bownvoché parce que votre question n'a montré aucun effort de recherche, en particulier lorsqu'il existe des doublons similaires / exacts existants