Python chaîne de mise en forme: la référence à un argument plusieurs fois
Si j'ai une chaîne de caractères comme:
"{0} {1} {1}" % ("foo", "bar")
et je veux:
"foo bar bar"
Que les jetons de remplacement doivent être? (Je sais que mon exemple ci-dessus est incorrecte; j'essaie juste d'exprimer mon objectif.)
Vous devez vous connecter pour publier un commentaire.
"str".format(args)
mais pas"str" % args
?{n}
syntaxe ne fonctionne que pour lesstr.format()
, passtr.__mod__()
.{}
comme un lieu titulaires :), mais à l'aide de la.format()
est le nouveau moyen de formatage de chaînes de prendre un coup d'oeil à la pep 3101 pour plus de détails : python.org/dev/peps/pep-3101{0}
? Par exemple, si vous disposez de deux instances de{0}
dans une chaîne de caractères, mais vous voulez passer deux cordes différentes pour chacun?est un autre vrai, mais de longue réponse. Juste pour vous montrer un autre point de vue sur la question 😉
Python 3 a exactement ce que la syntaxe, à l'exception de la
%
opérateur est maintenant leformat
méthode.str.format
a également été ajoutée à la version 2.6 de Python+ pour adoucir le passage à Python 3. Voir format de la syntaxe de la chaîne de pour plus de détails.Il ne peut être fait avec un n-uplet dans les anciennes versions de Python, cependant. Vous pouvez obtenir près en utilisant le mappage de touches placées entre parenthèses. Avec le mappage de touches le format des valeurs doivent être transmis sous la forme d'un dict au lieu d'un n-uplet.
De la Python manuel: