我想知道是否有内置函数,类似str.join()
提供了一个连接,其中iteratable参数可以作为格式字符串插入:
"ITEM : %s \n".join(["apple", "pear", "rabbit"])
输出:
ITEM : apple
ITEM : pear
ITEM : rabbit
我知道如何编写自己的实用程序函数,只是想知道是否存在我忽略的内置函数。
答案 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 ""