Note addictive: max (max (list)) ne doit pas être utilisé lors de la maximisation de la valeur d'un tableau à deux dimensions

a = []
a.append([-1,-1,-1])
a.append([-1, 2, -1])
a.append([-1, -1, 3])

Je veux obtenir la valeur maximale 3 dans cette liste quand il y a une liste. En d'autres termes

>>> max(list(map(lambda x: max(x), a)))
3

Je veux faire. À ce stade, si max est imbriqué, cela ne fonctionnera pas.

>>> max(max(a))
2

Ceci est une comparaison de [-1, -1, -1], [-1, 2, -1] et [-1, -1, 3] lorsque max (a) est exécuté. Sera fait. Ceci est comparé dans l'ordre lexical

>>> [-1, 2, -1] > [-1, -1, 3]
True
>>> "acb" > "abz" #Avec ça
True

Ceci est dû au fait

Solution 1: carte

>>> max(list(map(lambda x: max(x), a)))
3

Solution 2: faites une liste plate dans itertools.chain

>>> from itertools import chain
>>> list(chain(*a))
[-1, -1, -1, -1, 2, -1, -1, -1, 3]
>>> max(chain(*a))
3

Recommended Posts

Note addictive: max (max (list)) ne doit pas être utilisé lors de la maximisation de la valeur d'un tableau à deux dimensions
Lors de l'incrémentation de la valeur d'une clé qui n'existe pas
[Mémo Python] Soyez prudent lors de la création d'un tableau à deux dimensions (liste de listes)
Remarque Python: lorsque la commande pip ne peut pas être utilisée
Soyez prudent lors de la différenciation des vecteurs propres d'une matrice
Prenez note de la liste des utilisations de base de Pandas
La valeur de retour (générateur) d'une fonction qui combine finally et yield ne doit pas être passée directement à next
Extraire la valeur de dict ou list sous forme de chaîne de caractères
Ne spécifiez pas un objet mutable (type de liste, type de dictionnaire, etc.) comme valeur initiale de l'argument de fonction de python.