87 votes

Joindre plusieurs chaînes si elles ne sont pas vides en Python

J’ai quatre chaînes et chacune d’entre elles peut être vide. J’ai besoin de les joindre en une seule chaîne avec des espaces entre eux. Si j’utilise :

Le résultat est un espace vide au début de la nouvelle chaîne s’il est vide. En outre, j’ai trois espaces vides si et `` sont vides.

Comment puis-je les rejoindre facilement sans espaces vides lorsque je n’en ai pas besoin?

219voto

ThiefMaster Points 135805
<pre><code></code><p><code></code><a href="http://docs.python.org/library/functions.html#filter" rel="noreferrer"><code></code></a> call, il supprime tous les éléments falsy.</p></pre>

25voto

John Machin Points 39706

Si vous SAVEZ que les chaînes n’ont pas d’espace blanc de début/fin :

autrement:

et si l’une des chaînes a des espaces non de début/fin, vous devrez peut-être travailler encore plus dur. Veuillez préciser ce que vous avez réellement.

-2voto

Greg Brown Points 331
strings = ['foo','','bar','moo']
' '.join([x for x in strings if x is not ''])
'foo bar moo'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X