【问题标题】:Convert Python list to string with new lines between each element将 Python 列表转换为字符串,每个元素之间都有新行
【发布时间】:2020-02-28 03:47:57
【问题描述】:

所以我有一个清单

myList = ['apples \n', 'banana \n', 'orange \n']

然后我一起加入列表

x = ''
x = x.join(myList)

并希望 x 现在等于一个多行列表以提高可读性,例如

apples
banana
orange

但实际上,当我在不使用 Print() 的情况下调用 x 时,我得到了 apples \n banana \n orange \n

我想要 multine 选项的原因是我的列表元素实际上是段落而不是简单的单词,但我不想阻塞这个演示。

如何存储包含新行的字符串变量?

提前致谢

【问题讨论】:

    标签: python-3.x string list join


    【解决方案1】:

    如果您print(x),您将看到字符串中的新行。在计算 REPL 中表达式的结果时,Python 将使用 \n 代替换行符。

    在交互式解释器中,可以通过以下方式看到:

    >>> myList = ['apples \n', 'banana \n', 'orange \n']
    >>> x = ''
    >>> x = x.join(myList)
    >>> x
    'apples \nbanana \norange \n'
    >>> print(x)
    apples 
    banana 
    orange 
    
    

    有换行符,但仅仅看到表达式 x 的结果与实际打印值不同,这会导致您的终端解释 \n

    【讨论】:

    • 谢谢,我明白了。为了在 OP 中再次澄清,我试图不使用 print。我将变量“x”传递到另一个包中,该包只能接受一个字符串作为变量。输出是通过电子邮件而不是交互式解释器接收的。
    • 所以换行符肯定还在,只是格式问题。 \n 是换行符,只是显示方式的问题。如果您的函数需要一个字符串,并且它正在寻找换行符,\n 将是一个换行符。 \n 是 ASCII 0x0A,是换行符。
    猜你喜欢
    • 2022-01-19
    • 2019-12-07
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    相关资源
    最近更新 更多