L'impression de chaque élément d'une variable sur une ligne distincte dans Python
Je suis en train d'imprimer une liste en Python qui contient des chiffres et lors de l'impression les éléments de la liste de tous les travaux d'impression sur la même ligne.
print ("{} ".format(ports))
voici ma sortie
[60, 89, 200]
comment puis-je voir le résultat sous cette forme:
60
89
200
J'ai essayé print ("\n".join(ports))
mais qui ne fonctionne pas.
- putput? d'entrée? =P
Vous devez vous connecter pour publier un commentaire.
En boucle sur la liste et imprimer chaque élément sur une nouvelle ligne:
ou de convertir vos entiers à cordes avant de le rejoindre:
ou dire
print()
d'utiliser des retours à la ligne comme les séparateurs et les passer dans la liste en tant que distincts des arguments avec le*
splat syntaxe:Démo:
sep
.print()
. C'est en Python syntaxe pour passer dans de multiples arguments de position comme une séquence. Voir Ce n' ** (étoile double/asterisk) et * (étoile/asterisk) faire pour les paramètres?Vous êtes très proche. Le seul problème est que, contrairement à
print
,join
ne le fait pas automatiquement de convertir des choses à cordes; vous devez le faire vous-même.Par exemple:
... ou ...
Si vous ne comprenez pas, soit des inclusions ou
map
, les deux sont équivalents* à ceci:En d'autres termes,
map(str, ports)
vous donnera la liste['60', '89', '200']
.Bien sûr, il serait idiot d'écrire que, sur le long chemin; si vous allez utiliser un explicite
for
déclaration, vous pourriez tout aussi bienprint(port)
directement à chaque passage dans la boucle, comme dans jramirez de réponse.* Je suis effectivement triche un peu ici; vous donner une itérateur sur une sorte de "paresseux liste" qui n'existe pas réellement avec ces valeurs. Mais pour l'instant on peut juste faire semblant que c'est une liste. (Et en Python 2.x, il l'était.)
Si vous êtes sur Python 3.x:
Sinon, cela va fonctionner: