Qu'est-ce que la plupart des pythonic façon à exclure les éléments d'une liste qui commencent par un caractère spécifique?
J'ai une liste de chaînes de caractères. Je veux obtenir une nouvelle liste, qui exclut les éléments en commençant par"#", tout en préservant l'ordre. Qu'est-ce que la plupart des pythonic moyen pour cela? (de préférence à l'aide d'une boucle?)
On dirait que vous voulez exclure des commentaires à partir d'un fichier. La réponse dans ce cas est de "ne pas les lire dans, en premier lieu".
OriginalL'auteur theRealWorld | 2012-08-03
Vous devez vous connecter pour publier un commentaire.
Qui est le plus pythonic façon de faire. Tout cela sera à la fin à l'aide d'une boucle en Python ou C.
OriginalL'auteur jamylak
Pas à l'aide d'une boucle? Il est
filter
builtin:Noter que dans Python 3, il retourne itératif, pas une liste, et donc vous pouvez avoir à envelopper avec
list()
.interprétations de la liste sont privilégiées par rapport à
filter
,map
, etc. si jumelé avec unlambda
.filter
pourrait être mieux si vous aviez quelque chose commefilter(str.isalpha, somestrings)
. Ce sera également plus lente qu'une liste comp.Je ne vois pas beaucoup de différence ici. Dans ce cas simple, j'irais avec une boucle. Mais quand la fonction de prédicat est compliqué, c'est
filter
seulement.OriginalL'auteur hamstergene