我有一个字典:如何按值排序字典并返回格式化字符串列表?
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))
芹苴我仍然希望看到什么其他的解决方案也有可能一个更好。
我与这一个去因为我不t'必须导入'运算符' – Cuga 2011-01-26 05:25:18
@Cuga:有关`string.format()`函数的更多信息,请参阅[PEP](http://www.python.org/dev/peps/pep-3101/) 。 – 2011-01-26 05:40:53