Maison >développement back-end >Tutoriel Python >Méthode Python pour supprimer tous les éléments d'espace dans une liste

Méthode Python pour supprimer tous les éléments d'espace dans une liste

不言
不言original
2018-04-18 11:21:554501parcourir

Ce qui suit est un résumé de la façon de supprimer tous les éléments d'espace dans une liste en python. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Jetons un coup d'oeil ensemble

Tout d'abord, écrivons simplement une liste avec des espaces :

list1 = ['122','2333','3444',' ','422',' ',' ','54',' ']

Je crois que quelqu'un l'a essayé . Utilisez les méthodes suivantes pour supprimer les espaces, par exemple :

# -*- coding:utf-8 -*-
for i in list1:
 if i == ' ':
 list1.remove(' ')
print list1

Mais par conséquent, vous constaterez qu'il est toujours incapable de supprimer complètement les espaces. espaces , en laissera un à la fin.

Méthode 1 :

À ce stade, vous pouvez essayer de remplacer '==' par in :

# -*- coding:utf-8 -*-
for i in list1:
 if ' ' in list1:
 list1.remove(' ')
print list1

J'ai déjà vu la méthode « rejoindre » sur Internet, mais le lien est introuvable . Cette méthode peut en effet supprimer les chaînes vides d'une longueur de ' ', mais elle est bonne pour les intervalles réguliers. Elle n'est pas si conviviale pour les intervalles irréguliers, et que les intervalles soient réguliers ou non, elle générera un 0-. longueur '' chaîne vide.

Méthode 2 :

La méthode 1 était lorsque j'écrivais cet article plus tard et que j'ai testé la mauvaise façon d'écrire au début de l'article , parce que je me souvenais de Je ne suis pas sûr, j'ai accidentellement pensé à in et j'ai trouvé que le résultat était correct. La première méthode à laquelle j'ai pensé était la suivante : obtenez d'abord le nombre d'espaces, puis parcourez-les et supprimez-les un par un :

for i in range(list1.count(' ')):
 list1.remove(' ')

Méthode 3 :

Ensuite, j'ai utilisé pour et je pensais Puis-je utiliser while ? Comment écrire while ? Je l'ai testé et j'ai trouvé que ça marche :

while ' ' in list1:
 list1.remove(' ')
print list1
Ce qui précède est une comparaison que je l'ai écrite il y a longtemps, principalement en utilisant Remove. Maintenant, j'ai appris quelques optimisations, et après avoir ajouté les astuces dans les commentaires, j'ai trouvé que la dérivation peut également être utilisée. Merci !

Recommandations associées :

Comment supprimer des fichiers et des répertoires en python



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn