列出变量中的输出格式

时间:2015-06-02 13:11:05

标签: python-2.7

我制作了一个电子邮件机器人抓取Craigslist并在项目符合我的查询时通过电子邮件发送给我。我现在处于最后阶段,但我的电子邮件格式仍然有效。

我所拥有的是一个将Craigslist列表附加到列表的循环。在我的循环之外,我将List添加到我的电子邮件Def作为参数。

我需要的例子:

list = ['item1', 'item2', 'item3']
print list
['item1', 'item2', 'item3'] # I don't want it on a single line
for i in list:
     print i
item1
item2
item3
#I want a variable with the single line item format.

我希望将单行格式放入变量而不是列表中。我的列表可能是1项或20项,取决于Craigslist上发布的内容。

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

使用str.join,您可以按照给定的字符串加入列表:

"\n".join(my_list)

如果你需要更多花哨的格式而不是每行的字符串,你应该看一下join和str.format的组合

P.S。:顺便说一句,不要影响内置的“列表”,这是不好的做法。每当你想使用内置时,它都会导致错误。

答案 1 :(得分:0)

不完全清楚你在问什么。据我所知,你想在不同的行上打印列表项,但是在一行中打印列表时使用的样式相同。

容器类的__str__方法通常使用所包含对象的__repr__方法,因此如果要以与打印时相同的样式打印多行中的项目行,使用repr函数获取__repr__的结果。

>>> lst = ['item1', 'item2', 'item3']
>>> for i in lst:
...     print repr(i)
... 
'item1'
'item2'
'item3'