Le moyen le plus rapide de diviser une chaîne concaténée en un tuple et d'ignorer les chaînes vides
J'ai une chaîne concaténée comme ceci:
my_str = 'str1;str2;str3;'
et je voudrais lui appliquer une split
fonction, puis convertir la liste résultante en un tuple, et me débarrasser de toute chaîne vide résultant de split
(notez le dernier ';' à la fin)
Pour l'instant, je fais ceci:
tuple(filter(None, my_str.split(';')))
Existe-t-il un moyen plus efficace (en termes de vitesse et d'espace) de le faire ?
Solution du problème
Que dis-tu de ça?
tuple(my_str.split(';')[:-1])
('str1', 'str2', 'str3')
Vous divisez la chaîne au niveau du ;
caractère et passez toutes les sous-chaînes (sauf la dernière, la chaîne vide) à tuple pour créer le tuple de résultat.
Commentaires
Enregistrer un commentaire