De rejoindre plusieurs chaînes si elles ne sont pas vides en Python
J'ai quatre cordes et aucun d'entre eux peut être vide. J'ai besoin de les relier en une chaîne de caractères avec des espaces entre eux. Si j'utilise:
new_string = string1 + ' ' + string2 + ' ' + string3 + ' ' + string4
Le résultat est un espace vide sur le début de la nouvelle chaîne si string1
est vide. Aussi, j'ai trois espaces si string2
et string3
sont vides.
Comment puis-je facilement se joindre à eux sans espaces vides lorsque je n'ai pas besoin d'eux?
Vous devez vous connecter pour publier un commentaire.
En utilisant
None
dans lefilter()
appel, il supprime tous les falsy éléments.df.apply(", ".join(filter(None, ...)), axis=1)
. Comment fait-on passer le deuxième argument de la fonction de filtre?Si vous SAVEZ que les cordes ont pas de leader/suiveur espace:
autrement:
et si l'une des chaînes de non-leading/trailing espaces, vous pouvez avoir besoin de travailler plus dur encore. Veuillez préciser ce que c'est que vous avez réellement.
!=
au lieu deis not
. Il pourrait fonctionner, mais il n'est pas garanti. Ou simplement l'utiliser[x for x in strings if x]
.is not
pour les non-singletons si vous n'avez pas réellement envie de vérifier si les deux sont les mêmes objets!