簡體   English   中英

在python中對dict值排序而沒有排序功能

[英]sorting dict values without sorted function in Python

我想在不使用排序功能的情況下對列表中的字典值進行排序。我在下面嘗試過,但不起作用

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)

您的方法差不多了。 您唯一的錯誤是線條

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

實際上使smlkey1列表具有第一個包含最小值的鍵作為唯一元素,而第二個包含最小鍵的鍵作為唯一元素。
(即使只有一個元素,語法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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM