J'ai une liste sous la forme de Je veux renvoyer la valeur C minimale et la valeur C + F maximale. Est-ce possible? P> p>
5 Réponses :
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)
pour le minimum pour le maximum Exemple: p> c code>:
c + f code> p>
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 i> à 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 .
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
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))
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.