Je cherche à générer une liste de chaînes énumérées en utilisant la compréhension de liste dans un bloc-notes IPython. Cela fonctionne, mais me donne une sortie étrange que je ne comprends pas.Compréhension de liste dans IPython Notebook retournant [Aucun, Aucun, Aucun ...]
cols = []
[cols.append('Value'+str(hour)) for hour in xrange(1,25)]
Après avoir exécuté la cellule, cols
retourne la liste appropriée [Value1,Value2...Value24]
, mais dans mon ordinateur portable, je reçois une liste de sortie de 24 None
. Le code fonctionne, mais la sortie étrange me donne l'impression d'avoir fait quelque chose de mal, et il semble négligé. Pourquoi ai-je cette sortie, et y a-t-il un moyen de m'en débarrasser?
Eh bien, qu'est-ce que 'cols.append' retourne? «Aucun», n'est-ce pas? C'est de là que viennent vos 'None's: vous avez dit à Python de mettre le résultat de' cols.append() 'dans une liste, 24 fois. – kindall
Parce qu'une liste de compréhension crée une nouvelle liste. Dans votre cas, une liste des valeurs de retour de 'append', qui se trouve être' None' – pvg