Integer list join using string.format
与用python连接具有整数值的列表一样,可以通过转换
顺便说一句,我想得到
我用
1 2 | x = range(10) out = '{} {} {} {}'.format('foo', 'bar', len(x), x) |
为了解决问题,我可以将代码重写为
1 | out = '{} {} {} '.format('foo', 'bar', len(x)) + ' '.join([str(i) for i in x]) |
号
它看起来不一致(混合
1 2 | slot = ' {}' * len(x) out = ('{} {} {}' + slot).format('foo', 'bar', len(x), *x) |
我觉得还是不吸引人。有没有只使用
既然你喜欢吸引力,只想用一条线,只想用
1 2 | '{} {} {}{}'.format('foo', 'bar', len(x), ' {}' * len(x)).format(*x) # foo bar 10 0 1 2 3 4 5 6 7 8 9 |
号
我可能遗漏了您的问题,但您可以简单地将链接的方法扩展到以下内容:
1 2 3 4 | >>> x = range(10) >>> out ="".join(map(str, ["foo","bar", len(x)] + x)) >>> out 'foo bar 10 0 1 2 3 4 5 6 7 8 9' |
您只需使用打印功能:
1 2 3 | >>> from __future__ import print_function #Required for Python 2 >>> print('foo', 'bar', len(x), *x) foo bar 10 0 1 2 3 4 5 6 7 8 9 |