【问题标题】:Joining a python list to one pretty multi line string将 python 列表加入一个漂亮的多行字符串
【发布时间】:2020-12-06 23:47:27
【问题描述】:

我想要一个多行字符串,它本质上是一个列表对象的“漂亮打印”,我知道我可以为此使用str.join(iterable),但问题是例如加入"\n- "会给:

a
- b
- c

但我希望它看起来像这样:

- a
- b
- c

我明白为什么会发生这种情况,我只是想知道是否有更好的方法来实现我想要做的事情。我不想使用 for 循环,每个项目打印一次,因为我正在尝试创建一个多行字符串对象。

例子:

list = ["a","b","c"]
print("\n- ".join(list))

【问题讨论】:

  • 将添加的字符连接到最终产品的前面,或者将其添加到每个元素并连接仅插入换行符的序列。你怎么卡住了?
  • 问“你是怎么被困住的”,以非常清楚地描述我正在努力实现但无法实现的目标,最好的情况是无益的,最坏的情况是被动的攻击性。我知道这是一个简单的问题,但没有什么是不清楚的,如果你被简单的问题冒犯了,根本没有必要参与。

标签: python list join


【解决方案1】:

在每个字符串的开头添加一个- ,并使用生成器理解,然后加入\n

print("\n".join(f"- {x}" for x in list))

此代码使用f-strings。您也可以只使用"- " + x 而不是f"- {x}"

【讨论】:

    【解决方案2】:

    您可以将- 添加到第一行:

    print('- ' + '\n- '.join(list))
    

    【讨论】:

      猜你喜欢
      • 2017-11-20
      • 1970-01-01
      • 2015-03-29
      • 2011-04-27
      • 2014-10-19
      • 2018-06-12
      • 2014-12-19
      • 2018-11-02
      • 1970-01-01
      相关资源
      最近更新 更多