Puis-je répéter un format de chaîne de caractères descripteur en python?
En fortran, je suis en mesure de répéter un descripteur de format pour enregistrer le réécrire plusieurs fois, par exemple:
write(*,'(i5,i5,i5,i5,i5)')a,b,c,d,e
pourrait être réécrit comme
write(*,'(5(i5))')a,b,c,d,e
Pouvez une approche similaire être utilisé en python?
Par exemple, dire que je voulais faire la même chose en python, je devrais écrire:
print "{0:5d} {1:5d} {2:5d} {3:5d} {4:5d}".format(a,b,c,d,e)
Est-il possible de répéter le descripteur de format, comme en fortran?
- En python, vous pouvez effectuer les opérations de multiplication sur des chaînes de caractères, donc si vous le faites imprimer 5*"chaîne", il affiche la chaîne de 5 fois.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez répéter la chaîne de mise en forme lui-même:
Chaîne de Format est normal de chaîne, de sorte que vous pouvez multiplier par int
print(("%6.2f"*3 + "%7.2f"*2) % ( *values ))
- note les crochets autour de la chaîne de format lors de l'ajout de plusieurs groupes de différentes longueur.print ('{:5d} '*5).format(1,2,3,4,5)
donne un attribut d'erreur.print ('{:5d} '*5.format(1,2,3,4,5))
donne une erreur de syntaxe. Cependant,fmt = '{:5d} '*5
suivie parprint (fmt.format(1,2,3,4,5))
imprime comme souhaité.print (...).format(...)
tente d'appeler une méthode de mise en forme de l'objet retourné par print().print ('{:5d} '*5.format(1,2,3,4,5))
tente d'appeler une méthodeformat()
de l'entier 5. Vous pouvez utiliserprint (('{:5d} '*5).format(1,2,3,4,5))
pour obtenir ce droit.print (('{}, '*len(s)).format(*s))
oùs
est votre liste d'éléments à imprimer