Python >> Tutoriel Python >  >> Python

Impression Python sans espace

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.