Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 8, 2015 21:08:51

vortex
Зарегистрирован: 2015-12-08
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Автоматическая сортировка в объекте.

Не могу доехать как сделать простую вещь.
Есть сортированный массив:

a = ["2015-11-27", "2015-11-28", "2015-11-29", "2015-11-30", "2015-12-01", "2015-12-02", "2015-12-03", "2015-12-04", "2015-12-05", "2015-12-06", "2015-12-07", "2015-12-08"]
#Такую же последовательность я желаю получить в объекте:
obj = {}
for date in a:
    obj[date] = 1
print obj
Получается иная последовательность:

2015-12-08
2015-12-03
2015-12-02
2015-12-01
2015-12-07
2015-12-06
2015-12-05
2015-12-04
2015-11-30
2015-11-28
2015-11-29
2015-11-27

Я пробовал переводить в unix timestamp та же история. Подскажите, как сделать правильно.

Отредактировано vortex (Дек. 9, 2015 13:21:23)

Офлайн

#2 Дек. 8, 2015 21:18:53

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Автоматическая сортировка в объекте.

vortex
Подскажите, как сделать правильно.
Никак. dict не поддерживает упорядочивание. Выбирайте другой контейнер.



Отредактировано doza_and (Дек. 8, 2015 21:19:15)

Офлайн

#3 Дек. 8, 2015 22:39:19

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Автоматическая сортировка в объекте.

vortex
В дополнение к правильным словам от doza_and, в модуле collections есть упорядоченный словарь OrderedDict.
vortex
Код для публикации на форуме нужно оборачивать в теги code, они есть в окне редактирования сообщения.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Дек. 9, 2015 13:50:05

vortex
Зарегистрирован: 2015-12-08
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Автоматическая сортировка в объекте.

Спасибо, получилось

import collections
obj = collections.OrderedDict()
a = ["2015-11-27", "2015-11-28", "2015-11-29", "2015-11-30", "2015-12-01", "2015-12-02", "2015-12-03", "2015-12-04", "2015-12-05", "2015-12-06", "2015-12-07", "2015-12-08"]
for date in a:
    obj[date] = 1
print obj
2015-11-27
2015-11-28
2015-11-29
2015-11-30
2015-12-01
2015-12-02
2015-12-03
2015-12-04
2015-12-05
2015-12-06
2015-12-07
2015-12-08

Отредактировано vortex (Дек. 9, 2015 13:50:42)

Офлайн

#5 Дек. 9, 2015 20:17:55

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Автоматическая сортировка в объекте.

sorted() - тоже можно.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version