À l'aide de Python mise en forme de Chaîne avec des Listes
Je construire une chaîne s
en Python 2.6.5 qui ont un nombre variable de %s
des jetons, ce qui correspond au nombre d'entrées dans la liste x
. J'ai besoin d'écrire une chaîne formatée. Le suivant ne fonctionne pas, mais indique que je suis en train de faire. Dans cet exemple, il y a trois %s
des jetons et de la liste dispose de trois entrées.
s = '%s BLAH %s FOO %s BAR'
x = ['1', '2', '3']
print s % (x)
J'aimerais que la sortie de la chaîne de l'être:
1 BLAH 2 FOO 3 BAR
InformationsquelleAutor SabreWolfy | 2011-09-27
Vous devez vous connecter pour publier un commentaire.
au lieu de
(x)
est la même chose quex
. Mettre un jeton unique entre parenthèses n'a pas de sens en Python. Vous avez l'habitude de mettre des parenthèses dans desfoo = (bar, )
pour le rendre plus facile à lire, maisfoo = bar,
fait exactement la même chose.print s % (x)
est ce que l'OP a écrit, j'étais en train de le citer lui/elle.foo = (bar, )
soit 🙂(x)
notation pour plus de clarté; il permet également d'éviter d'oublier les parenthèses, si vous ajoutez des variables supplémentaires.print s % (tuple(x) + tuple(y))
Vous devriez jeter un oeil à la format méthode de python. Vous pouvez ensuite définir votre chaîne de mise en forme comme ceci :
%
exploitant, déballe des n-uplets.s
plus complexes, comme j'aurais besoin d'inclure l'incrémentation des numéros plutôt que de simplement%s
pour chaque position.s
est construite dans un certain nombre de différentes étapes, de sorte qu'il est beaucoup plus facile de simplement inclure la%s
jeton.print u'%(blah)d BLAHS %(foo)d FOOS …' % {'blah': 15, 'foo': 4}
.s = '{} BLAH {} BLAH BLAH {} BLAH BLAH BLAH'
La suite de cette page de ressources, si la longueur de x est variable, on peut utiliser:
pour créer une place de titulaire pour chaque élément de la liste
x
. Voici l'exemple:Depuis que j'ai appris sur ce qui est cool(indexation dans les listes de l'intérieur d'une chaîne de format), je suis en ajoutant à cette vieille question.
Cependant, je n'ai toujours pas compris comment le faire découpage(à l'intérieur de la chaîne de format
'"{x[2:4]}".format...
,) et aimerais comprendre si quelqu'un a une idée, cependant, je soupçonne que vous ne peut tout simplement pas le faire.Ce fut un plaisir de question! Une autre façon de gérer cette longueur variable listes est de construire une fonction qui tire pleinement parti de la
.format
méthode et la liste déballage. Dans l'exemple suivant, je n'utilise pas de fantaisie de mise en forme, mais qui peut facilement être changé pour adapter à vos besoins.Ici est une une ligne. Un peu improvisé réponse à l'aide de format d'impression() sur une liste.
Comment à ce sujet: (python 3.x)
Lire les docs ici sur l'utilisation de format().