我想在不使用sort函数的情况下对列表中的字典值进行排序。我尝试过以下但是它不能正常工作
dict1={"one":1,"two":2,"three":3}
list1=[]
for i in range(len(dict1)):
sml=[a for a in dict1.values() if a ==min(dict1.values())]
key1=[k for k,v in dict1.items() if v ==min(dict1.values())]
del dict[key1]
list1.append(sml)
print(list1)
答案 0 :(得分:0)
你的方法几乎就在那里。你唯一的错误是行
sml=[a for a in dict1.values() if a ==min(dict1.values())]
key1=[k for k,v in dict1.items() if v ==min(dict1.values())]
实际上使sml
和key1
列表包含第一个包含最小值的唯一元素,第二个包含最小值的键作为其唯一元素。
(语法x = [....]
将使x
成为一个列表,即使只有一个元素。)
所以一切都将通过将这些行设为:
来修复sml=[a for a in dict1.values() if a ==min(dict1.values())][0]
key1=[k for k,v in dict1.items() if v ==min(dict1.values())][0]