Печать каждого элемента переменной в отдельной строке в Python

Я пытаюсь распечатать список на Python, который содержит цифры, и когда он печатает элементы в списке, все печатаются в одной строке.

print ("{} ".format(ports)) 

вот мой вывод

 [60, 89, 200] 

как я могу увидеть результат в этой форме:

 60 89 200 

Я попробовал print ("\n".join(ports)) но это не работает.

5 Solutions collect form web for “Печать каждого элемента переменной в отдельной строке в Python”

Я попробовал print ("\ n" .join (ports)), но не работает.

Ты очень близко. Единственная проблема заключается в том, что, в отличие от print , join не автоматически конвертирует вещи в строки; вы должны сделать это сами.

Например:

 print("\n".join(map(str, ports))) 

… или …

 print("\n".join(str(port) for port in ports)) 

Если вы не понимаете ни понимания, ни map , они эквивалентны *:

 ports_strs = [] for port in ports: ports_strs.append(str(port)) print("\n".join(ports_strs)) del ports_strs 

Другими словами, map(str, ports) предоставит вам список ['60', '89', '200'] .

Конечно, было бы глупо писать это длинным путем; если вы собираетесь использовать явный оператор for , вы можете просто print(port) напрямую каждый раз через цикл, как в ответе jramirez.


* Я на самом деле немного обманываю; оба дают вам итератор над своего рода «ленивым списком», который на самом деле не существует с этими значениями. Но пока мы можем просто притвориться, что это список. (И в Python 2.x это было.)

Прокрутите список и распечатайте каждый элемент на новой строке:

 for port in ports: print(port) 

или конвертировать целые числа в строки перед присоединением:

 print('\n'.join(map(str, ports))) 

или скажите print() чтобы использовать новые строки в качестве разделителей и передавать в списке как отдельные аргументы с синтаксисом * splat:

 print(*ports, sep='\n') 

Демо-версия:

 >>> ports = [60, 89, 200] >>> for port in ports: ... print(port) ... 60 89 200 >>> print('\n'.join(map(str, ports))) 60 89 200 >>> print(*ports, sep='\n') 60 89 200 
 ports = [60, 89, 200] for p in ports: print (p) 

Если вы находитесь на Python 3.x:

 >>> ports = [60, 89, 200] >>> print(*ports, sep="\n") 60 89 200 >>> 

В противном случае это будет работать:

 >>> ports = [60, 89, 200] >>> for p in ports: ... print p ... 60 89 200 >>> 

если вы хотите напечатать буквы в строке (строке) по строкам, вы можете следовать следующему методу, нажмите здесь, чтобы увидеть метод

то вы ответьте следующим образом, нажмите здесь, чтобы увидеть ответ

Python - лучший язык программирования в мире.