Python 字典转换为用户格式字符串
将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()))
这其实是个人喜好问题,不过我个人觉得这种写法比原来的版本更难读。