Python 使用压缩代码在新行上打印列表中的项目

Python 使用压缩代码在新行上打印列表中的项目,python,Python,通过这样做,我得到了我想要的结果: list = [1, 2, 3, 4, 5] def new(x): for i in x: print i 然后打电话给newlist 结果将是: 1 2 3 4 5 我想做的是打印[x代表列表中的x] 但我似乎找不到正确的答案。 是否有更简洁的方法将列表中的每一项列在新行上?我想您需要的是: new = lambda x:"\n".join(map(str,x)) print new(x) 这里是一个没有lambda和map的答案: 另外

通过这样做,我得到了我想要的结果:

list = [1, 2, 3, 4, 5]
def new(x):
  for i in x:
    print i
然后打电话给newlist 结果将是:

1
2
3
4
5
我想做的是打印[x代表列表中的x] 但我似乎找不到正确的答案。
是否有更简洁的方法将列表中的每一项列在新行上?

我想您需要的是:

new = lambda x:"\n".join(map(str,x))
print new(x)
这里是一个没有lambda和map的答案:

另外,请不要调用变量列表,因为这会干扰Python 3.x上的类,只需在打印时添加一个sep即可:

编辑:在Python 2.6+上,需要导入print_函数:

ls = [1, 2, 3, 4, 5]
print('\n'.join([str(a) for a in ls]))
lst = [1, 2, 3, 4, 5]
print(*lst, sep="\n")

# 1
# 2
# 3
# 4
# 5
from __future__ import print_function 
lst = [1, 2, 3, 4, 5]
print(*lst, sep='\n')