首页 > 解决方案 > Python列表:在项目之前和之后添加字符串

问题描述

得到一个列表作为变量。这些项目将传输到 HTML 格式的电子邮件。如果列表项以“-”开头,则需要在其前后获取 HTML 代码才能获取红色文本。

所以基本上:如果一个列表项以'-'开头,我需要在它之前添加一个字符串,然后在它之后添加一个。我已经得到了这个:

mylist = ['no problem','also no problem','-this got to be red','no problem here']
before = '<p style="color:red">'
after = '</p>'

for i in mylist:
    if i.startswith('-'):
        i = newstr = " ".join((before,i,after))
        mylist.append(i)

print(mylist)

问题:它添加了新变量,但也保留了旧变量。我需要更换它。有什么建议么?

标签: python

解决方案


我建议在这里使用列表理解。用这个替换for循环:

mylist = [' '.join((before, s, after)) if s.startswith('-') else s
               for s in mylist]
print(mylist)

推荐阅读