Отсортировать defaultdict в Python и его построчный вывод

Как можно реализовать построчный вывод defauldict'а - d, и отсортировать его по количеству значений в ключе, по убыванию соответственно?

from selenium import webdriver
import re
from collections import defaultdict


def get_data(url):
    try:
        driver = webdriver.Chrome('C:\Python26\Chromedriver')
        driver.implicitly_wait(7)
        driver.get(url)
        page = 1
        d = defaultdict(list)
        while page < 10:

            content = driver.find_element_by_id('dle-content')

            for c in content.find_elements_by_class_name('news_boxing'):
                b = c.find_element_by_class_name('stats')
                if '+' in b.text:
                    try:
                        proc = float(re.findall("([+|-]\d+[.]\d+)%", b.text)[0])
                        if proc > 20:
                            match = c.find_element_by_class_name("commands")
                            stavka = c.find_element_by_class_name("info_match")
                            kf = c.find_element_by_xpath('//div[@class="prediction"]//a[@class="hover_block"]')
                            d[match.text].append(stavka.text)
                            #print("Повышенный прогноз: ", b.text, match.text, stavka.text, kf.text)
                        else:
                            match = c.find_element_by_class_name("commands")
                            stavka = c.find_element_by_class_name("info_match")
                            kf = c.find_element_by_xpath('//div[@class="prediction"]//a[@class="hover_block"]')
                            d[match.text].append(stavka.text)
                            #print(b.text, match.text, stavka.text, kf.text)
                    except:
                        continue
            next = driver.find_element_by_xpath('//div[@class="next"]').click()
            page += 1

    except:
        import traceback
        print(traceback.format_exc())

    finally:
        driver.quit()

    print(d)


def main():
    url = 'https://vprognoze.ru/'
    print(get_data((url)))



if __name__ == '__main__':
    main()

Ответы (1 шт):

Автор решения: eri

sorted() сортирует любую последовательность по любому ключу.

from collections import defaultdict
d = defaultdict(list)
d['a'].append(1)
d['a'].append(2)
d['b'].append(3)
d['c'].append(1)
d['c'].append(2)
d['c'].append(3)
for k,v in sorted(d.items(), key= lambda i: len(i[1]), reverse=True):
    print(k,v)

Вывод:

c [1, 2, 3]
a [1, 2]
b [3]
→ Ссылка