首页 > 解决方案 > 如何在python中的字符串中添加新行

问题描述

我有这个代码

def fullview():    
    rows = 3
    elems_in_row = 4
    List = ['-'] * rows
    for i in range(rows):
        List[i] = ['-'] * elems_in_row   
    for i in List:
        elements = ''.join(i)
        fullview = str(rows)+ ':' + elements
        rows -= 1
   return fullview

当我向 fullview 添加一行时,它会删除添加到其中的上一行。我想要的结果是:

fullview = """
3:----
2:----
1:----
"""

我不确定如何将新行正确添加到字符串中,因为 += 不起作用。

标签: pythonstringlistprinting

解决方案


这可以通过单个构造完成,而不是多个步骤:

result = '\n'.join(['{}:{}'.format(i, '-' * elements_in_row)
                    for i in range(1, rows + 1)][::-1])

原始代码不起作用的一个原因是行更新fullview没有考虑到以前的状态:

fullview = str(rows)+ ':' + elements

推荐阅读