我刚接触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
5条答案
按热度按时间idfiyjo81#
你可以用一个新行来
join
字符串,并打印结果字符串:7gs2gvoe2#
对于Python 3,我们还可以使用列表解包
https://docs.python.org/3.7/tutorial/controlflow.html#unpacking-argument-lists
这和
velaa5lx3#
这里有几点需要澄清
1.首先你有一个
list
,而不是一个数组.不同的是列表是一个更动态和灵活的数据结构(在动态语言比如python中是list).例如你可以有多个不同类型的对象(例如有2个string
,3个int
,一个socket
,等等)1.列表中单词两边的引号表示它们是
string
类型的对象。1.当你使用
print op
(或者python 3+中的print(op)
)时,你实际上是在请求python显示一个特定列表对象及其内容的可打印表示,因此需要引号、逗号、括号等。1.在python中,你有一个非常简单的
for each
循环,可以用来迭代可迭代对象的内容,比如list
,只要这样做:368yc8dk4#
逐行打印
这样做的好处是,如果
op
恰好很长,那么您不必纯粹为了打印而创建新的临时字符串。mu0hgdu05#
您还可以通过使用Pretty Print库
pprint
获得更好的打印行为当你超过某个阈值时,漂亮打印会自动换行,所以如果你只有几个短项目,它会内联显示:
但如果你有很多内容,它会自动换行:
也可以使用
width=
参数指定列宽。另请参阅:How to print a list in Python "nicely"