“ITEM:%s \ n”.join()

时间:2013-08-17 09:01:40

标签: python

我想知道是否有内置函数,类似str.join()提供了一个连接,其中iteratable参数可以作为格式字符串插入:

"ITEM : %s \n".join(["apple", "pear", "rabbit"])

输出:

ITEM : apple 
ITEM : pear 
ITEM : rabbit

我知道如何编写自己的实用程序函数,只是想知道是否存在我忽略的内置函数。

3 个答案:

答案 0 :(得分:4)

您可以使用列表理解

s = "\n".join("ITEM : %s" % f for f in ["apple", "pear", "rabbit"])

答案 1 :(得分:0)

你总是可以使用str.format()的for循环,虽然你没有像你期望的那样真正使用它:

>>> for item in ["apple", "pear", "rabbit"]:
...     print 'ITEM : {}'.format(item)
... 
ITEM : apple
ITEM : pear
ITEM : rabbit

或者,将其写入字符串:

print '\n'.join('ITEM : {}'.format(item) for item in ["apple", "pear", "rabbit"])

答案 2 :(得分:0)

我认为这是你提出的最接近的形式,但它看起来并不方便:)

>>>print "ITEM : " + "\nITEM : ".join(["apple", "pear", "rabbit"])
ITEM : apple
ITEM : pear
ITEM : rabbit
>>> 

通常你只是迭代。

如果有人想要坚持这个空列表检查,则需要进行检查,如评论所述:

result = items != [] and "ITEM : " + "\nITEM : ".join(items) or ""