← Все вопросы
Как пройтись по словарю в порядке отсортированных ключей?
11
У меня обычный dict, и я хочу вывести пары ключ-значение, но отсортированные по ключу (по алфавиту/возрастанию). Сам словарь хранит порядок вставки, а мне нужен отсортированный обход.
d = {"banana": 3, "apple": 1, "cherry": 2}
# хочу: apple 1, banana 3, cherry 2
3 ответа
19
✓ Принятый ответ — помог автору
Оберни ключи в sorted():
for k in sorted(d):
print(k, d[k])
sorted(d) возвращает отсортированный список ключей, сам словарь не меняется. Если нужны сразу пары, можно for k, v in sorted(d.items()): — кортежи сравниваются сначала по ключу.
Глеб Степанов И для обратного порядка просто sorted(d, reverse=True) · 6 месяцев назад
6
Можно ещё через dict(sorted(d.items())), если нужен именно новый отсортированный словарь, а не просто обход.
4
sorted(d.items()).
Ваш ответ
Войдите, чтобы ответить на вопрос.