Ceci est une émanation d'une question précédente qui a commencé à faire boule de neige. Si j'ai une matrice A et que je veux utiliser la moyenne/moyenne de chaque ligne [1:] valeurs pour créer une autre matrice B, mais garder les en-têtes de ligne intacts, comment ferais-je cela? J'ai inclus la matrice A, ma tentative de concocter une compréhension de liste et le résultat attendu.matrice liste compréhension moyenne
from operator import sum,len
# matrix A with row headings and values
A = [('Apple',0.95,0.99,0.89,0.87,0.93),
('Bear',0.33,0.25.0.85,0.44,0.33),
('Crab',0.55,0.55,0.10,0.43,0.22)]
#List Comprehension
B = [(A[0],sum,A[1:]/len,A[1:]) for A in A]
Résultats attendus
B = [('Apple', 0.926), ('Bear', 0.44), ('Crab', 0.37)]
Une de ces choses est pas comme les autres. Pourquoi ces données ne sont-elles pas dans un dictionnaire? '{'APPLE' :(0.95,0.99,0.89,0.87,0.93), ...}' –
'(A [0], somme, A [1:]/len, A [1:])' devrait lire '(A [0], somme (A [1:])/len (A [1:]))'. 'sum' et' len' sont des fonctions! – Eric