26

我是 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

4 回答 4

43

您可以join使用换行符来显示字符串,并打印结果字符串:

print "\n".join(op)
于 2012-12-15T15:19:17.703 回答
28

对于 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')
于 2018-12-02T22:52:21.933 回答
11

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

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

for greeting in op: print greeting

于 2012-12-15T18:13:53.610 回答
6

逐行打印

for word in op:
    print word

这样做的好处是,如果op碰巧很长,那么您不必纯粹为了打印目的而创建新的临时字符串。

于 2012-12-15T15:18:16.333 回答