1

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

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

输出:

ITEM : apple 
ITEM : pear 
ITEM : rabbit

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

4

3 回答 3

4

您可以使用列表理解

s = "\n".join("ITEM : %s" % f for f in ["apple", "pear", "rabbit"])
于 2013-08-17T09:08:09.843 回答
0

您始终可以使用 for 循环str.format(),尽管您并没有像预期的那样真正使用它:

>>> 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"])
于 2013-08-17T09:03:44.930 回答
0

我认为这是与您提出的最接近的形式,但似乎不太方便:)

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

通常你只会迭代。

如评论中所指出的,如果有人想坚持使用此空列表检查,则需要:

result = items != [] and "ITEM : " + "\nITEM : ".join(items) or ""
于 2013-08-17T09:07:37.777 回答