Formulation du problème
print()
de Python La fonction autorise un nombre arbitraire de valeurs séparées par des virgules et les imprime dans le shell, séparées par un seul espace vide " ".
L'exemple suivant montre comment passer quatre valeurs de chaîne comme arguments dans le print()
fonction :
>>> print('learn', 'python', 'with', 'finxter') learn python with finxter
La sortie du shell résultante a un caractère d'espace vide ajouté ' '
pour séparer ces quatre valeurs.
Comment imprimer sans espace supplémentaire ?
Solution avec argument séparateur
Pour imprimer plusieurs valeurs ou variables sans le caractère d'espacement unique par défaut entre les deux, utilisez le print()
fonction avec l'argument de mot-clé séparateur facultatif sep
et définissez-le sur la chaîne vide ''
. Par exemple, l'instruction print('hello', 'world', sep='')
imprime helloworld
sans le caractère séparateur d'espace vide ajouté.
>>> print('learn', 'python', 'with', 'finxter', sep='') learnpythonwithfinxter
Par défaut, l'argument du mot-clé séparateur est défini sur l'espace vide sep=' '
. Vous pouvez également le définir sur n'importe quelle autre chaîne telle que sep='-foo-'
pour obtenir le code suivant :
>>> print('learn', 'python', 'with', 'finxter', sep='-foo-') learn-foo-python-foo-with-foo-finxter
Pour en savoir plus sur la fonction d'impression et ses arguments peu connus, n'hésitez pas à regarder ma vidéo explicative ici :
Solution sans argument séparateur
Pour imprimer plusieurs valeurs ou variables sans le caractère d'espacement unique par défaut sans écraser explicitement l'argument séparateur par défaut, fusionnez les valeurs multiples à l'aide de la concaténation de chaînes avant d'imprimer une seule chaîne. Par exemple, l'instruction print('hello' + 'world')
imprime helloworld
sans le caractère séparateur d'espace vide ajouté.
>>> print('learn' + 'python' + 'with' + 'finxter') learnpythonwithfinxter
Bien que cette solution n'ait pas besoin d'un argument séparateur et d'une liste d'arguments séparés par des virgules, elle a besoin de l'opérateur plus + pour concaténer deux chaînes de manière répétée jusqu'à ce qu'il ne reste qu'une seule chaîne. Cela peut être fastidieux à écrire et ce n'est peut-être pas la solution la plus efficace en raison de la création répétée d'une nouvelle chaîne basée sur deux anciens objets chaîne.
Solution pour imprimer la liste des chaînes sans espace vide
Pour imprimer une liste de chaînes sans espace vide comme séparateur, vous avez deux options :
- Utilisez l'argument séparateur
sep=''
comme ceci :print(*str_list, sep='')
- Fusionner la liste en une seule chaîne en utilisant
string.join()
comme ceci :print(''.join(str_list))
Vous pouvez trouver la première façon d'utiliser le déballage ici :
>>> str_list = ['learn', 'python', 'with', 'finxter'] >>> print(*str_list, sep='') learnpythonwithfinxter
Et la deuxième façon en utilisant string.join()
ici :
>>> str_list = ['learn', 'python', 'with', 'finxter'] >>> print(''.join(str_list)) learnpythonwithfinxter
Pour en savoir plus à ce sujet, n'hésitez pas à lire mon tutoriel sur le string.join()
méthode.