与标题中一样,如何使用仅 *args
函数(没有format
函数)将join
解包为字符串,所以:
args = ['a', 'b', 'c']
尝试类似的东西(伪代码):
'-{}-'.format(*args)
我会得到:
'-a-b-c-'
答案 0 :(得分:3)
编辑:你去了:
("-{}" * len(args) + "-").format(*args)
在我意识到它不应该使用join()
之前,它是:
"-{}-".format("-".join(["{}"] * len(args)).format(*args))
答案 1 :(得分:2)
将格式字符串略微修改为'{}-'
:
>>> args = ['a', 'b', 'c']
>>> l = len(args)
>>> ('{}-'*(l+1)).format('', *args)
'-a-b-c-'
答案 2 :(得分:1)
没有.join
:
from functools import reduce
l = [1,2,3]
s = reduce('{}{}-'.format, l, '-')
print(s)