Python:如何同时加入列表和文本换行

时间:2014-08-31 16:49:53

标签: python join textwrapping

我正在尝试打印名为CND_Info的列表中的所有项目,该列表由名为Index_Lookup_Conditions的字典组成。我想打印列表中的每个项目,以“〜”开头,但也将其文本换行为80个字符。这是迄今为止的代码:

PROG = str(input("Type condition name: "))
for key, value in Index_Lookup_Conditions.items():
    if (key == PROG):
        print(key + "\n")
        CND_Info = value.split("|")
        print("~" + "\n~".join(CND_Info))

我可以为CND_Info中的每个项目创建一个循环来对其进行文本包装但是想知道是否有更简单的方法。

2 个答案:

答案 0 :(得分:0)

您可以使用textwrap.fill

>>> import textwrap
>>> lst = [c*20 for c in 'abcdef']
>>> print '\n'.join('~' + textwrap.fill(x, 15) for x in lst)
~aaaaaaaaaaaaaaa
aaaaa
~bbbbbbbbbbbbbbb
bbbbb
~ccccccccccccccc
ccccc
~ddddddddddddddd
ddddd
~eeeeeeeeeeeeeee
eeeee
~fffffffffffffff
fffff

使用print()函数(Python 3):

>>> print(*('~' + textwrap.fill(x, 15) for x in lst), sep='\n')
~aaaaaaaaaaaaaaa
aaaaa
~bbbbbbbbbbbbbbb
bbbbb
~ccccccccccccccc
ccccc
~ddddddddddddddd
ddddd
~eeeeeeeeeeeeeee
eeeee
~fffffffffffffff
fffff

答案 1 :(得分:0)

from textwrap import fill

CND_Info = ['Some text line',
            'Lorem ipsum dolor sit amet, consectetur adipiscing elit. '
            'Praesent nisi leo, interdum vel nulla vitae, mollis rutrum velit.']

for line in CND_Info:
    print fill('~' + line, 80)
相关问题