Ma liste est comme ceci, Comment supprimer tous les espaces contenant des chaînes dans cette liste? p> p>
10 Réponses :
Vous pouvez utiliser un compréhension de la liste : Utilisation de bande () code> garantit que même des chaînes contenant uniquement plusieurs espaces seront supprimées. p> p>
... ou juste [elem pour elem dans la liste si l'élément.strip ()] code>
Utilisez simplement un filtre avec Aucun code>. >>> filter(None, ['', 'abc', 'bgt', 'llko', '', 'hhyt', '', '', 'iuyt'])
['abc', 'bgt', 'llko', 'hhyt', 'iuyt']
>>> filter(str.strip, [' ', 'abc', 'bgt', 'llko', ' ', 'hhyt', ' ', ' ', 'iuyt'])
['abc', 'bgt', 'llko', 'hhyt', 'iuyt']
Essayez d'utiliser Filtre (lambda x: x.strip (), myList) code>:
mylist = [s for s in mylist if str is not " "]
Je le ferais de cette façon:
>>> mylist=[ " ","abc","bgt","llko"," ","hhyt"," "," ","iuyt"]
>>> new_list = [e for e in mylist if len(e.strip())!=0]
>>> new_list
['abc', 'bgt', 'llko', 'hhyt', 'iuyt']
list = ["first", "", "second"] [x for x in list if x] Output: ['first', 'second']Shortened as suggested,the same question given belowRemove empty strings from a list of strings
Utilisez Filtre code> avec méthode non liée em> str.strip code> . Python 2.x h2>
python 3.x h2>
mylist = [x for x in [ " ","abc","bgt","llko"," ","hhyt"," "," ","iuyt"] if x] ... List comprehension with "if" clause and, in this case, relying on the fact that Python considers empty strings (and empty containers) to be "False" in boolean contexts.If by "empty" you mean zero-length or containing only spaces then you can change the if clause to read if x.strip()
>>> mylist=[ " ","abc","bgt","llko"," ","hhyt"," "," ","iuyt"] >>> [i for i in mylist if i.strip() != ''] ['abc', 'bgt', 'llko', 'hhyt', 'iuyt']
La méthode isalpha () vérifie si la chaîne est composée de caractères alphabétiques uniquement:
Par vide, vous voulez dire que vous incluez des chaînes contenant uniquement des espaces?
Ya ... mon programme lit un fichier et prend chaque ligne et sépare .. donc dans la liste, il a des chaînes vides, je veux dire des espaces
Je ne sais pas pourquoi personne n'a suggéré cela, mais ce qui suit semble être le plus rapide des meilleures réponses -
[elem pour elem dans la myiste sinon elem.isspace ()] code>Isspace () est soutenu? Je ne savais pas ... merci entre !!