Il est préférable d'utiliser une compréhension de la liste dans ce cas,
my_list = [getstring(obj) for obj in objects]
Au lieu de créer une liste et d'y stocker une chaîne, nous créons une liste de chaînes, basée sur les objets de objects
. Vous pouvez faire la même chose avec la fonction map
ainsi
my_list = map(getstring, objects)
Cela prend chaque élément dans objects
et applique getstring
fonction à leur disposition. Tous les résultats sont rassemblés dans une liste. Si vous utilisez 3.x Python, vous voudrez peut-être faire
my_list = list(map(getstring, objects))
Depuis l'utilisation map
n'est pas préféré, chaque fois que possible aller avec liste Comprehension. Je cite la BDFL's blog,
Chose curieuse, les map
, filter
et reduce
fonctions qui ont motivé l'introduction à l'origine de lambda
et d'autres caractéristiques fonctionnelles ont dans une large mesure été remplacée par la liste et compréhensions expressions du générateur.
Vous attribuez 'string' à' list [0] 'à chaque fois que vous bouclez' for'. Déclarez la liste avant la boucle 'for':' list = list() 'et faites' list.append (string) 'sans aucun x. Mais mieux utiliser les listes de compréhension comme @thefourtheye [suggéré] (http://stackoverflow.com/a/24523762/3240679) – arbulgazar