我有一个命令:
text_to_count = { "text1": 1, "text2":0, "text3":2}
我想通过对这个字典的值进行排序(降序)来创建一个格式化字符串列表。
即,我喜欢以下列表:
result = ["2 - text3", "1 - text1", "0 - text2"]
有什么想法吗?
编辑:
在等待回复的过程中,我一直在研究它并想出了:
result = map(lambda x: "{!s} - {!s}".format(x[1], x[0]),
sorted(text_to_count.iteritems(),
key = lambda(k, v): (v, k), reverse=True ))
不过我仍然有兴趣了解还有哪些其他解决方案,可能是更好的解决方案。
最佳答案
['%d - %s' % (v, k) for (k, v) in sorted(text_to_count.iteritems(),
key=operator.itemgetter(1), reverse=True)]
关于python - 如何按值对字典进行排序并返回格式化字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801344/