Как вернуть ключи в оригинальном порядке в диктовке - PullRequest
3 голосов
/ 27 сентября 2011

Я читаю в файле и сохраняю информацию в формате, который читается сверху вниз.Я не хочу распечатывать в неправильном порядке по сравнению с исходным файлом.

Кроме того, очень маленький вопрос: я помню, что видел где-то короткую форму выражения if и else:

if a == 'a':
    a = 'b' ? a = 'c'  

Знаете ли вы точную форму?

Спасибо.

Ответы [ 5 ]

7 голосов
/ 27 сентября 2011
1 голос
/ 27 сентября 2011

Вы можете использовать OrderedDict, или вы можете сохранить данные в списке и индексировать их с помощью dict, или сохранить их в dict и сохранить ключи в списке по мере продвижения.

0 голосов
/ 27 сентября 2011

Второй ответ первый: a = 'b', если a == 'a' else 'c' (известный как троичное выражение)

Первый ответ второй: используйте OrderedDict , который доступен с 2.7.

Если это недоступно, вы можете:

0 голосов
/ 27 сентября 2011

Словари Python неупорядочены (см. здесь ).

По второму вопросу см. предыдущий ответ .

0 голосов
/ 27 сентября 2011

Я не знаю о dict, но вы ищете краткую форму Имеет ли Python троичный условный оператор?

Существует троичный оператор почти для каждого языка, вы можете найти пример в wikipedia . Однако тот, что в Python, имеет не тот же синтаксис, что и другие, как объяснено в связанном ответе SO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...