145 votes

L'impression n-uplet avec mise en forme de chaîne en Python

Donc, j'ai ce problème. J'ai eu tuple (1,2,3), que je dois d'impression avec mise en forme de chaîne. par exemple.

tup = (1,2,3)
print "this is a tuple %something" % (tup)

et cela devrait impression n-uplet de représentation avec des crochets, comme

This is a tuple (1,2,3)

Comment dans le monde que je suis capable de faire cela? Un peu perdu ici, donc si vous les gars pourrait m'indiquer une direction à suivre :)

221voto

Alex Martelli Points 330805
>>> thetuple = (1, 2, 3)
>>> print "this is a tuple: %s" % (thetuple,)
this is a tuple: (1, 2, 3)

Faire un singleton tuple avec le n-uplet d'intérêt comme le seul élément, à savoir l' (thetuple,) , c'est la clé ici.

62voto

Antimony Points 13190

Notez que l' % syntaxe est obsolète. Utiliser str.format, ce qui est plus simple et plus lisible:

t = 1,2,3
print 'This is a tuple {0}'.format(t)

27voto

Vinay Sajip Points 41286
>>> tup = (1, 2, 3)
>>> print "Here it is: %s" % (tup,)
Here it is: (1, 2, 3)
>>>

Notez que (tup,) est un tuple contenant un n-uplet. L'extérieur tuple est l'argument de l'opérateur%. L'intérieur d'un tuple est de son contenu, qui est en fait imprimé.

(tup) est une expression entre crochets, qui lors de l'évaluation des résultats en tup.

(tup,) avec la virgule est un tuple, qui contient tup comme c'est le seul membre.

8voto

TM. Points 20051

Ce n'utilise pas de chaîne de formatage, mais vous devriez être capable de faire:

print 'this is a tuple ', (1, 2, 3)

Si vous voulez vraiment utiliser la mise en forme de chaîne:

print 'this is a tuple %s' % str((1, 2, 3))
# or
print 'this is a tuple %s' % ((1, 2, 3),)

Remarque, cela suppose que vous utilisez une version de Python antérieures à la version 3.0.

8voto

voyager Points 17283
t = (1, 2, 3)

# the comma (,) concatenates the strings and adds a space
print "this is a tuple", (t)

# format is the most flexible way to do string formatting
print "this is a tuple {0}".format(t)

# classic string formatting
# I use it only when working with older Python versions
print "this is a tuple %s" % repr(t)
print "this is a tuple %s" % str(t)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X