Python 字典转换为用户格式字符串

1 投票
2 回答
901 浏览
提问于 2025-04-17 10:25

将Python中的字典(dict)转换成字符串,最简单的方法是什么呢?比如说:

a = {'a': 'value', 'b': 'another_value', ...}

想要用用户自定义的格式转换成字符串,比如:

'%s - %s\n'

这样我就能得到:

a - value
b - another_value

这个方法可以用,但也许有更简洁或更好的方法,可以使用map函数(而不需要逐个遍历集合)

''.join(['%s %s\n' % o for o in a.items()])

2 个回答

5

我会这样写:

>>> print '\n'.join(' '.join(o) for o in a.items())
a value
b another_value

或者:

>>> print '\n'.join(map(' '.join, a.items()))
a value
b another_value
2

你可以省略方括号,这样就不用生成中间的列表了:

''.join('%s %s\n' % o for o in a.items())

既然你在问关于 map 的事情,这里有一种用 map 来写的方法:

''.join(map(lambda o:'%s %s\n' % o, a.items()))

这其实是个人喜好问题,不过我个人觉得这种写法比原来的版本更难读。

撰写回答