У меня есть словарь, как это:Сортировать только часть словаря в обратном порядке
{dist: [lat, long]}
расстояние является ключевым и спутниковые данные, на самом деле массив.
Я хочу отсортировать его по убыванию, но только его часть. Пользователь вводит число, определяющее размер вывода списка на экран, и я хочу только отсортировать его в диапазоне от 0 до размера.
Как это сделать в цикле for? у меня есть:
for (n, i) in enumerate(sorted(myDict)):
if (n >= option):
break
который будет сортировать в порядке возрастания и ломаются, когда опция = номер входа пользователем. Однако
sorted(myDict, reverse=True)
сначала сортировал бы все в обратном порядке, затем выполнял цикл for, что не то, что я хочу. Есть ли хороший способ исправить это? Очевидно, что я могу просто создать новый массив, в этом для цикла, и сделать еще один цикл снова и сортировать новый массив в порядке убывания
array = []
for (n, i) in enumerate(sorted(myDict)):
if (n >= option):
break
array.append(...)
for i in sorted(array, reverse=True):
print ...
dicts не имеют квадратных скобок, они используют фигурные скобки и двоеточия {ключ: значение}, то, что вы называете dict, есть на самом деле список – Totem
О, это была ошибка. Извини за это. – PTN