Salut je suis compréhension de la liste d'apprentissage à Python et je me suis eu une liste 2 dimensionnelle des chaînes: et maintenant je voudrais obtenir une liste J'ai essayé d'écrire une compréhension: P> et cela ne fonctionne pas. Je suppose que j'utilise myList2 code> de la même dimension que myList code> mais contenant des sommes de caractères de toutes les cordes dans les sublistes, de sorte que:
MyList2 [0] = LEN (MyList [0] [0] [0]) + LEN (MyList [0] [1]) CODE> P> somme code> fonction à tort aussi bien p> p>
3 Réponses :
Utilisez compréhension de la liste imbriquée . Ensuite, prenez la somme d'éléments dans chaque subliste pour obtenir le nombre total de caractères correspondant. De plus, je présente une version simplifiée plus courte sans em> à l'aide de la plage si vous ne voulez pas la somme, supprimez simplement la commande (len (...)) code>. Vous pouvez directement boucler sur les éléments de la liste somme () p> p> mylist2 = [[len(j) for j in subl] for subl in mylist]
# [[16, 13], [21, 33, 21], [28, 16, 33], [33]]
Essayez ceci: pour obtenir la somme pour chaque sous-liste : p>
Je vais rejoindre chaque élément dans la liste et obtenir la longueur.
mylist=[[a,b],[c,d,e],[f,a,d],[d]]
mylist2=[len(''.join(i)) for i in mylist]
mylist2
Result:
[29, 75, 77, 33]
Afficher la sortie souhaitée de
MyList2 code>