Написать Python скрипт для сортировки (возрастания и убывания) словаря по значению
def sort_dictionary_ascending(dict):
flag = True
list = []
while(len(dict)!=1):
flag = True
for x,y in dict.items():
if flag:
min = x
flag = False
elif min>x:
min =x;
list.append(min)
dict.pop(min)
min,value= dict.popitem()
list.append(min)
print(list)
def sort_dictionary_descending(dict):
flag = True
list = []
while(len(dict)!=1):
flag = True
for x,y in dict.items():
if flag:
max = x
flag = False
elif max < x:
max = x
list.append(max)
dict.pop(max)
max,value= dict.popitem()
list.append(max)
print(list)
d = {1: 1, 3: 3, 4: 4, 2: 2, 5: 5}
sort_dictionary_descending(d)
sort_dictionary_ascending(d)
Ошибка:
/home/admin2/Desktop/two/venv/bin/python /home/admin2/Desktop/two/sort_dictionary.py
Traceback (most recent call last):
File "/home/admin2/Desktop/two/sort_dictionary.py", line 45, in <module>
sort_dictionary_ascending(d)
File "/home/admin2/Desktop/two/sort_dictionary.py", line 17, in sort_dictionary_ascending
list.append(min)
UnboundLocalError: local variable 'min' referenced before assignment
[5, 4, 3, 2, 1]