Python打印一个列表,在确定的点添加空行

2024-10-04 07:34:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含日志的列表,我试图在特定的块之间添加一个空行。所以当我到达一个特定块的末尾时,我可以看到一点分离,而不是像一个连续的列表。在

EX:
log a:
kdsaldklsadkaslk
kasldkasldkasldkasldk

log a1:
lkpadkfaldkfdsl
klsdkfldskfsdl

到目前为止,我已经尝试了所有我能在网上找到的,但我没有成功。要么我被迫添加除空行之外的任何内容(例如一个序列-----),要么添加的空格将被添加到每一行(这不是我想要的)。在

如果我在列表中加上空行,比如

^{pr2}$

当我使用

print "\n".join(log_list)

我添加的所有空行都没有打印出来。在

但是如果我在append命令中添加任何字符,那么它将被打印。在

当我执行join命令时,是否有任何选项可以自动删除列表中的空行?否则我不明白为什么我不能在列表中有一个空行。在

有没有其他方法可以打印清单?我经常看到用join命令打印列表(列表中的所有对象都是字符串)。在

谢谢!在


Tags: 命令log内容列表a1序列ex空格
2条回答

对我来说,这是可行的(这表明在附加一个\n然后再加入一个\n并不是什么鬼把戏):

>>> log_list = ['a']
>>> log_list.append('\n')
>>> log_list.append('b')
>>> log_list.append('c')
>>> print '\n'.join(log_list)
a


b
c

你有什么不同的做法?在

如果已经创建了列表,您可以在每行以":"结尾的行之前插入一个空行,如下所示

print "\n".join("\n"+s if s.endswith(":") else s for s in log_list)

不过,使用一个循环可能更清楚

^{pr2}$

您可以更改条件以满足您的需求,例如s.startswith("log ")

相关问题 更多 >