我如何获得此输出?
'[{0} {1} {2} {3} {4} {6} {7} {8} {9}]'
我试过这个
string_val ='{{{}}} '.format(range(10))
但它给出了
'{[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]} '
答案 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}]'