gpt4 book ai didi

python - 词典列表 - 如何格式化打印输出

转载 作者:太空宇宙 更新时间:2023-11-04 09:08:02 24 4
gpt4 key购买 nike

我有一个字典列表:

lis = [{'score': 7, 'numrep': 0}, {'score': 2, 'numrep': 0}, {'score': 9, 'numrep': 0}, {'score': 2, 'numrep': 0}] 

如何格式化 print 函数的输出:

print(lis)

所以我会得到类似的东西:

[{7-0}, {2-0}, {9-0}, {2-0}]

最佳答案

列表组件可以:

['{{{0[score]}-{0[numrep]}}}'.format(d) for d in lst]

这会输出一个字符串列表,所以引号:

['{7-0}', '{2-0}', '{9-0}', '{2-0}']

我们可以再格式化一下:

'[{}]'.format(', '.join(['{{{0[score]}-{0[numrep]}}}'.format(d) for d in lst]))

演示:

>>> print ['{{{0[score]}-{0[numrep]}}}'.format(d) for d in lst]
['{7-0}', '{2-0}', '{9-0}', '{2-0}']
>>> print '[{}]'.format(', '.join(['{{{0[score]}-{0[numrep]}}}'.format(d) for d in lst]))
[{7-0}, {2-0}, {9-0}, {2-0}]

格式化字符串以避免过多的 {{}} 大括号转义的替代方法:

  • 使用旧式 % 格式:

    '{%(score)s-%(numrep)s}' % d
  • 使用 string.Template() 对象:

    from string import Template

    f = Template('{$score-$numrep}')

    f.substitute(d)

更多演示:

>>> print '[{}]'.format(', '.join(['{%(score)s-%(numrep)s}' % d for d in lst]))
[{7-0}, {2-0}, {9-0}, {2-0}]
>>> from string import Template
>>> f = Template('{$score-$numrep}')
>>> print '[{}]'.format(', '.join([f.substitute(d) for d in lst]))
[{7-0}, {2-0}, {9-0}, {2-0}]

关于python - 词典列表 - 如何格式化打印输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18184679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com