使用ONLY格式函数将* args解压缩为字符串

时间:2016-09-20 13:49:13

标签: python

与标题中一样,如何使用 *args函数(没有format函数)将join解包为字符串,所以:

args = ['a', 'b', 'c']

尝试类似的东西(伪代码):

'-{}-'.format(*args)

我会得到:

'-a-b-c-'

3 个答案:

答案 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)