в python, есть ли одна строка pythonic, чтобы получить список ключей из словаря в отсортированном порядке?

Метод сортировки списка – это функция-модификатор, которая возвращает None.

Поэтому, если я хочу перебирать все ключи в словаре, я не могу:

 для k в somedictionary.keys (). sort ():
     сделай что-нибудь()

вместо этого я должен:

 keys = somedictionary.keys ()
 keys.sort ()
 для k в ключах:
     сделай что-нибудь()

Есть ли хороший способ перебора этих ключей в отсортированном порядке без необходимости разбивать его на несколько этапов?

    for k in sorted(somedictionary.keys()): doSomething(k) 

    Обратите внимание, что вы также можете получить все ключи и значения, отсортированные по таким клавишам:

     for k, v in sorted(somedictionary.iteritems()): doSomething(k, v) 

    Могу ли я ответить на свой вопрос?

    Я только что открыл удобную функцию «sorted», которая делает именно то, что я искал.

     для k в отсортированном (somedictionary.keys ()):
         сделай что-нибудь()
    

    Он отображается в виде ключа Python 2.5 Dictionary 2

    На самом деле, .keys () не требуется:

     for k in sorted(somedictionary): doSomething(k) 

    или

     [doSomethinc(k) for k in sorted(somedict)]