在python花括号中,数字来自range()

时间:2014-12-01 12:23:19

标签: python string

我如何获得此输出?

'[{0} {1} {2} {3} {4} {6} {7} {8} {9}]'

我试过这个

string_val ='{{{}}} '.format(range(10))

但它给出了

'{[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]} '

1 个答案:

答案 0 :(得分:5)

您需要格式化每个单独的数字,然后将该结果放入另一个格式化操作中以添加方括号:

'[{}]'.format(' '.join(['{{{}}}'.format(i) for i in range(10)]))

或者可能更具可读性,因为我们不必逃避花括号:

'[{}]'.format(' '.join(['{%d}' % i for i in range(10)]))

演示:

>>> ['{{{}}}'.format(i) for i in range(10)]
['{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}']
>>> '[{}]'.format(' '.join(['{{{}}}'.format(i) for i in range(10)]))
'[{0} {1} {2} {3} {4} {5} {6} {7} {8} {9}]'
>>> '[{}]'.format(' '.join(['{%d}' % i for i in range(10)]))
'[{0} {1} {2} {3} {4} {5} {6} {7} {8} {9}]'