在Python中在单独的行上打印变量的每个项

在Python中在单独的行上打印变量的每个项,python,variables,format,line,Python,Variables,Format,Line,我试图用Python打印一个包含数字的列表,当它打印列表中的项目时,所有项目都打印在同一行上 print ("{} ".format(ports)) 这是我的输出 [60, 89, 200] 我如何在该表格中看到结果: 60 89 200 我尝试了打印(“\n”.join(ports)),但不起作用。在列表上循环并在新行打印每个项目: ports = [60, 89, 200] for p in ports: print (p) for port in ports: p

我试图用Python打印一个包含数字的列表,当它打印列表中的项目时,所有项目都打印在同一行上

print ("{} ".format(ports))
这是我的输出

[60, 89, 200]
我如何在该表格中看到结果:

60
89
200

我尝试了
打印(“\n”.join(ports))
,但不起作用。

在列表上循环并在新行打印每个项目:

ports = [60, 89, 200]

for p in ports:
    print (p)
for port in ports:
    print(port)
或在连接之前将整数转换为字符串:

print('\n'.join(map(str, ports)))
或者告诉
print()
使用换行符作为分隔符,并使用
*
splat语法作为单独的参数传入列表:

print(*ports, sep='\n')
演示:

我已尝试打印(“\n”.join(端口)),但不起作用

ports = [60, 89, 200]

for p in ports:
    print (p)
你很接近。唯一的问题是,与打印不同,
print
join
不会自动将内容转换为字符串;你必须自己做

例如:

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

print("\n".join(str(port) for port in ports))
如果您既不理解理解,也不理解映射,则两者都相当于:

ports_strs = []
for port in ports:
    ports_strs.append(str(port))
print("\n".join(ports_strs))
del ports_strs
换句话说,
map(str,port)
将为您提供列表
['60','89','200']

当然,把它写出来是愚蠢的;如果要对语句使用显式的
,那么每次通过循环直接打印(端口)
,就像jramirez的回答一样



*实际上我在这里有点作弊;这两种方法都为您提供了一个迭代器,该迭代器遍历一种“惰性列表”,而这些值实际上并不存在。但现在,我们可以假装它是一个列表。(在Python2.x中是。)

如果您使用的是Python3.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
>>>

奇怪的是,在将鼠标悬停在打印上时弹出的文档中,没有提到我们在使用
sep
@LoMaPh时需要使用*这不是
print()
所特有的。Python的一般语法是将多个位置参数作为序列传递。看见