我将程序的输出作为python字典输出,并且希望从dictn
中获得键列表:
s = "cool_ice_wifi"
r = ["water_is_cool", "cold_ice_drink", "cool_wifi_speed"]
good_list=s.split("_")
dictn={}
for i in range(len(r)):
split_review=r[i].split("_")
counter=0
for good_word in good_list:
if good_word in split_review:
counter=counter+1
d1={i:counter}
dictn.update(d1)
print(dictn)
我们应该获得密钥的条件:
区 = {0:1,1:1,2:2:2}
预期输出 = [2,0,1]
答案 0 :(得分:2)
您可以使用列表组合:
[key for key in sorted(dictn, key=dictn.get, reverse=True)]
答案 1 :(得分:1)
在Python3中,现在可以使用here所述的sorted
方法,以您选择的任何方式对字典进行排序。
检出documentation,但在最简单的情况下,您可以.get
字典的值,而对于更复杂的操作,则需要自己定义key
函数。
Python3中的词典现在为insertion-ordered,所以另一种处理方法是在创建字典时进行排序,或者可以使用OrderedDict。
这是行动中第一个选项的示例,我认为这是最简单的
>>> a = {}
>>> a[0] = 1
>>> a[1] = 1
>>> a[2] = 2
>>> print(a)
{0: 1, 1: 1, 2: 2}
>>>
>>> [(k) for k in sorted(a, key=a.get, reverse=True)]
[2, 0, 1]