如何在python中的字符串中添加新行

时间:2018-11-23 12:39:50

标签: python string list printing

我有这个代码

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 = """
3:----
2:----
1:----
"""

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

2 个答案:

答案 0 :(得分:0)

这可以一次构造,而不是多个步骤:

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

原始代码不起作用的原因之一是,更新fullview的行未考虑先前的状态:

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

答案 1 :(得分:0)

只需使用'\ n'

def fullview():
    rows = 3
    elems_in_row = 4
    fullview_str = ''
    for i in range(rows, 0, -1):
        fullview_str += "{}:{}\n".format(i, '-' * elems_in_row)
    return fullview_str

示例输出:

3:----
2:----
1:----