Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 22, 2016 15:25:44

V_ladimir
Зарегистрирован: 2016-09-18
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка множества

Добрый день!
Задана некая структура) Даже не знаю как ее назвать. Следующего вида
data = [
{
“faceRectangle”: {
“left”: 68,
“top”: 97,
“width”: 64,
“height”: 97
},
“scores”: {
“anger”: 0.00300731952,
“contempt”: 5.14648448E-08,
“disgust”: 9.180124E-06,
“fear”: 0.0001912825,
“happiness”: 0.9875571,
“neutral”: 0.0009861537,
“sadness”: 1.889955E-05,
“surprise”: 0.008229999
}
}
]

в одно множество вложено 2 других.
Как отсюда получить значения переменных?
т.е.
left = 68
top = 97 и так далее

Как вообще обрабатываются вложенные множества?

Офлайн

#2 Сен. 22, 2016 16:02:04

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Обработка множества

V_ladimir
здесь нет множеств, есть словари

Офлайн

#3 Сен. 22, 2016 16:10:10

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

Обработка множества

словари поддерживают итерационный протокол т.е. по ним можно проходиться циклом for, при этом значениями будут являться ключи словаря. Для обхода вложенных структур применяют вложенные циклы. Все просто, вы разберетесь



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

Офлайн

#4 Сен. 22, 2016 18:07:20

V_ladimir
Зарегистрирован: 2016-09-18
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка множества

Спасибо!!! Разобрался

Офлайн

#5 Сен. 22, 2016 19:32:40

V_ladimir
Зарегистрирован: 2016-09-18
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка множества

Извините) еще вопрос. А как преобразовать бинарную строку b' в словарь?

Офлайн

#6 Сен. 22, 2016 21:08:49

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Обработка множества

Может быть она ещё и в формате json?

Офлайн

#7 Сен. 22, 2016 23:09:42

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

Обработка множества

V_ladimir
бинарная строка не переводится в словарь это принципиально разные типы данных



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

Офлайн

#8 Сен. 23, 2016 03:39:59

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9891
Репутация: +  854  -
Профиль   Отправить e-mail  

Обработка множества

  
>>> data = [
...     {'faceRectangle': {'left': 68,
...                        'top': 97,
...                        'width': 64,
...                        'height': 97},
...      'scores': {'anger': 0.00300731952,
...                 'contempt': 5.14648448E-08,
...                 'disgust': 9.180124E-06,
...                 'fear': 0.0001912825,
...                 'happiness': 0.9875571,
...                 'neutral': 0.0009861537,
...                 'sadness': 1.889955E-05,
...                 'surprise': 0.008229999}}
... ]
>>> 
>>> left = data[0]['faceRectangle']['left']
>>> left
68
>>> top = data[0]['faceRectangle']['top']
>>> top
97
>>> 



Отредактировано py.user.next (Сен. 23, 2016 03:40:08)

Офлайн

#9 Сен. 23, 2016 07:50:23

V_ladimir
Зарегистрирован: 2016-09-18
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка множества

py.user.next

Спасибо! очень интересно

Офлайн

#10 Сен. 23, 2016 08:13:30

V_ladimir
Зарегистрирован: 2016-09-18
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработка множества

JOHN_16
V_ladimirбинарная строка не переводится в словарь это принципиально разные типы данных

в итоге написал програмульку. может и коряво, но работает)

def binary_to_dictionary(binary):
# binary = b''
b1 = binary.decode('UTF-8') # декодируем
b2 = b1 # удаляем первый символ
b3 = b2 # удаляем последний символ
return eval(b3) # преобразуем в словарь

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version