Python: impression en deux colonnes
Je suis en train d'imprimer une chaîne avec deux colonnes fixes. Par exemple, j'aimerais être en mesure d'imprimer:
abc xyz
abcde xyz
a xyz
Quelle est la façon correcte pour le format de la chaîne de sortie lors de l'impression pour y parvenir? Aussi, comment est-ce fait avant la version 2.6 et après la version 2.6?
OriginalL'auteur Victor Brunell | 2016-02-06
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le format et la mention fixer les espaces entre les colonnes
Vieux Style de mise en forme
De Style ancien, - '%- 10s' '%s' % (s1,s2), Mais vous ne savez pas quel âge il est
Nice! Qui fonctionne parfaitement. Pourquoi la deuxième chaîne de recevoir le réglage de la mise en forme sur la première chaîne? Je pense qu'elle devrait être
"%s %-10s"
, mais c'est faux.Ce que je comprends, '%- 10s " signifie aligné à gauche, un maximum de 10 places à droite. Je me réfère pyformat.info
cela fonctionne très bien et est également propre et simple! merci!
OriginalL'auteur AlokThakur
Cela devrait fonctionner pour toutes les longueurs des éléments (en supposant qu'ils sont des chaînes de caractères. Cela suppose de vos données est séparée en deux listes
first
etsecond
.Cela fonctionne en Python 2.x, avant et après 2.6.
Bien sûr, en ignorant la première ligne et le remplacement de
maxlen
avec20
.Ah, merci. Je vais lui donner un aller.
OriginalL'auteur L3viathan
Avant >=python3.6
OriginalL'auteur Roushan
Il y a un certain nombre de façons de le faire et il dépend de la façon dont les données sont stockées. Assumining vos données sont stockées dans l'égalité de longueur des listes:
Cela fonctionne dans toutes les versions de python. Le 3i assure la sortie a une largeur de champ de 3 caractères
%d
les changements de longueur. Il serait juste un onglet à partir du dernier caractère.Vous avez raison, j'ai corrigé la réponse à montrer rembourrage de 3 caractères
Est-il un moyen pour produire la seconde
%i
20 espaces à partir du début de la chaîne? C'est pas par rapport à la première%i
, mais par rapport au début de la chaîne elle-même?Je pense que vous voulez l' .méthode de mise en forme docs.python.org/2/library/string.html pour une utilisation sur des chaînes de caractères.
Ouais, j'étais juste en espérant y trouver une méthode pour faire cela avant la version 2.6. Je suis en train de travailler sur un serveur qui prend en charge uniquement de la version 2.4.
OriginalL'auteur BenJ