7
votes

Retour min / max de multidimensionnelle en python?

J'ai une liste sous la forme de xxx

Je veux renvoyer la valeur C minimale et la valeur C + F maximale. Est-ce possible?


3 commentaires

Oui, tout est possible. Qu'avez-vous essayé?


Essayé Min (liste [0] [2]), etc., pour essayer d'obtenir le deuxième index maximal de chaque cluster de chaque élément. Aucun indice comment faire ce dernier.


Charlie: Non, essayez simplement de rassembler un projet d'animal de compagnie. Je suis une architecture diplômée.


5 Réponses :


1
votes

Vous devez cartographier votre liste sur un contenant uniquement les articles que vous aimez.

Voici une façon possible de le faire: P>

x = [[[5, 5, 3], [6, 9, 7]], [[6, 2, 4], [0, 7, 5]], [[2, 5, 6], [6, 6, 9]], [[7, 3, 5], [6, 3, 2]], [[3, 10, 1], [6, 8, 2]], [[1, 2, 2], [0, 9, 7]], [[9, 5, 2], [7, 9, 9]], [[4, 0, 0], [1, 10, 6]], [[1, 5, 6], [1, 7, 3]], [[6, 1, 4], [1, 2, 0]]]

minc = min(l[0][2] for l in x)
maxcf = max(l[0][2]+l[1][2] for l in x)


0 commentaires

16
votes

pour le minimum c : xxx

pour le maximum c + f xxx

Exemple: xxx


4 commentaires

Cela semble fonctionner bien; Je vous remercie! Je ne savais pas que vous pourriez le faire de cette façon (A pour B en format C)


Je l'aime bien. Je ne suis pas sûr que la liste des compréhensions est la meilleure façon de expliquer à un début, mais c'est un peu de code charmant.


Oh, au fait, John, c'est le terme magique que vous souhaitez pour ce type de code: "Compréhension de la liste".


@Charliemartin: Ceci est un Expression génératrice , pas un < Un href = "http://docs.python.org/reference/expressions.html#gramar-token-list_comprehension" rel = "Nofollow Noreferrer"> compréhension de la liste .



5
votes

compréhension de la liste à la rescousse xxx


0 commentaires

1
votes

Bien sûr que c'est possible. Vous avez une liste contenant une liste de listes de deux éléments qui s'avèrent être des listes elles-mêmes. Votre algorithme de base est xxx


0 commentaires

1
votes

Supposons que votre liste soit stockée dans My_List:

min_c = min(e[0][2] for e in my_list)
max_c_plus_f = max(map(lambda e : e[0][2] + e[1][2], my_list))


0 commentaires