python - 如何在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:----
"""
我不确定如何将新行正确添加到字符串中,因为 += 不起作用。
解决方案
这可以通过单个构造完成,而不是多个步骤:
result = '\n'.join(['{}:{}'.format(i, '-' * elements_in_row)
for i in range(1, rows + 1)][::-1])
原始代码不起作用的一个原因是行更新fullview
没有考虑到以前的状态:
fullview = str(rows)+ ':' + elements
推荐阅读
- ios - 重新启动视图控制器后,Swift Tableview 复选标记消失了
- python - 按字母拆分 Python 字符串并保留分隔符
- testing - 如何显示一个充满junit测试结果文件的目录
- sql - Redshift/SQL 查询根据列的值进行算术 - 从具有多个组的两个数据点按库存获取销售额
- json - 使用 jq 格式化输出并转换时间戳
- javascript - 在 JS 中分析垃圾收集
- javascript - 我可以在过滤函数之后做一个回调(或类似的东西)吗?
- android - 绑定未(尚未)初始化的 livedata 元素
- javascript - 确保在评估之前运行 javascript 中链式比较器中的所有方法?
- math - 当对象不在轴上时如何找到反射向量?