我想知道是否有一个内置函数,str.join()
类似于它提供了一个连接,其中可迭代参数可以作为格式字符串插入:
"ITEM : %s \n".join(["apple", "pear", "rabbit"])
输出:
ITEM : apple
ITEM : pear
ITEM : rabbit
我知道如何编写自己的实用程序函数,只是想知道是否有我忽略的内置函数。
我想知道是否有一个内置函数,str.join()
类似于它提供了一个连接,其中可迭代参数可以作为格式字符串插入:
"ITEM : %s \n".join(["apple", "pear", "rabbit"])
输出:
ITEM : apple
ITEM : pear
ITEM : rabbit
我知道如何编写自己的实用程序函数,只是想知道是否有我忽略的内置函数。
您可以使用列表理解
s = "\n".join("ITEM : %s" % f for f in ["apple", "pear", "rabbit"])
您始终可以使用 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"])
我认为这是与您提出的最接近的形式,但似乎不太方便:)
>>>print "ITEM : " + "\nITEM : ".join(["apple", "pear", "rabbit"])
ITEM : apple
ITEM : pear
ITEM : rabbit
>>>
通常你只会迭代。
如评论中所指出的,如果有人想坚持使用此空列表检查,则需要:
result = items != [] and "ITEM : " + "\nITEM : ".join(items) or ""