у меня есть список контактов словарей.
contacts = [{'first':'asasdasd', 'last':'sddafs','email':'asdsadas'},
{'first':'asasdasd', 'last':'sddafs','email':'asdsadas'}]
Я бы хотел отсортировать словари в списке по ключу 'last', используя алгоритм быстрой сортировки.
less = []
greater = []
def qsort_last(listD):
if len(listD) < 2:
return listD
else:
pivot = contacts[0]['last']
for i in range(len(listD)):
if listD[i]['last'] <= pivot:
less.append(listD[i])
else:
greater.append(listD[i])
return qsort_last(less) + [contacts[0]] + qsort_last(greater)
print(qsort_last(contacts))
Теперь функцияидет в бесконечный цикл. Пожалуйста, сообщите.