【问题标题】:Constructing a multiline string from array in python从python中的数组构造多行字符串
【发布时间】:2013-09-16 01:28:41
【问题描述】:

我目前正在编写一个将违约者列表发送到发行版的脚本。我在 python 列表中有这样的值['person1@email.com','person2@email.com','person3@email.com'] 我需要像这样从上面的数组中形成一个多行字符串

""" 1. person1@email.com
    2. person2@email.com
    3. person3@email.com"""

我试过了

defaultersList = ['person1@email.com','person2@email.com','person3@email.com']  
multilineStr = ""

for item in defaultersList:
  multilineStr = multilineStr + '\n' + item

但结果并没有像我预期的那样来。它与 \n 字符单行

【问题讨论】:

    标签: python string multilinestring


    【解决方案1】:

    您正在寻找:

    "\n".join(["{0}. {1}".format(i+1, person) for i, person in enumerate(defaultersList)])
    

    当然,"\n" 标记将在字符串中,但如果您调用 print,您将看到一个多行字符串。

    "\n" 是 Python(以及一般计算机)中换行符的表示方式。

    【讨论】:

    • 我没有打印字符串,而是像这样的电子邮件正文 msg = MIMEText("""this is the body of the email""") ...当然 \n 我会给出一个新的行吗?
    • 替代建议:"".join(starmap("{0}. {1}\n".format, enumerate(defaultersList, 1)))(与starmap() 来自itertools)。
    • 我没有打印字符串,而是像这样的电子邮件正文 msg = MIMEText("""this is the body of the email""") ...当然 \n 我会给出一个新的行吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多