带有新行的Python打印数组

时间:2012-12-15 15:17:22

标签: python

我是python的新手,有一个简单的数组:

op = ['Hello', 'Good Morning', 'Good Evening', 'Good Night', 'Bye']

当我使用pprint时,我得到了这个输出:

['Hello', 'Good Morning', 'Good Evening', 'Good Night', 'Bye']

无论如何,我可以删除引号,逗号和括号,并在单独的行上打印。所以输出是这样的:

Hello
Good Morning
Good Evening
Good Night
Bye

4 个答案:

答案 0 :(得分:28)

您可以使用换行符join字符串,然后打印结果字符串:

print "\n".join(op)

答案 1 :(得分:9)

你好像很困惑。让我帮你澄清你心中的一些事情=)

  1. 首先,你有一个list,而不是一个数组。不同之处在于列表是一个更加动态和灵活的数据结构(在动态语言中列表,如python)。例如,您可以拥有多个不同类型的对象(例如,有2 string s,3 int s,一个socket等等。
  2. 列表中单词的引号表示它们是string类型的对象。
  3. 当您在python 3+中执行print op(或print(op))时,您实际上是要求python向您显示该特定列表对象及其内容的可打印表示。因此引号,逗号,括号等
  4. 在python中,你有一个非常简单的for each循环,可用于遍历可迭代对象的内容,例如list。就这样做:
  5. for greeting in op: print greeting

答案 2 :(得分:5)

逐行打印

for word in op:
    print word

这样做的好处是,如果op恰好大量长,那么您不必为了打印目的而创建一个新的临时字符串。

答案 3 :(得分:0)

对于Python 3,我们还可以使用列表解压缩
https://docs.python.org/3.7/tutorial/controlflow.html#unpacking-argument-lists

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

相同
print('Hello', 'Good Morning', 'Good Evening', 'Good Night', 'Bye', sep='\n')