编程语言
首页 > 编程语言> > python-如何按值对字典排序并返回格式化字符串的列表?

python-如何按值对字典排序并返回格式化字符串的列表?

作者:互联网

我有一个命令:

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 ))

我仍然对看到其他解决方案感兴趣,也许还有更好的解决方案.

解决方法:

这个怎么样?

result = ['{1} - {0}'.format(*pair) for pair in sorted(text_to_count.iteritems(), key = lambda (_,v): v, reverse = True)]

标签:list,dictionary,string-formatting,python
来源: https://codeday.me/bug/20191208/2094036.html