Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 23, 2013 11:34:47

rumba
Зарегистрирован: 2013-10-23
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

jsonify и цикл

Здравствуйте, мне нужно, используя flask, ответить на запрос json ответом такого вида:
{
“a”: “1”,
“b”: “2”,
“c”: “3”
}
Сейчас я могу руками сделать так:

return jsonify({
"a": "1",
"b": "2",
"c": "3"
})
Но могу ли я для этих целей использовать цикл? И если могу, то как это реализовать?

Отредактировано rumba (Окт. 23, 2013 11:35:25)

Офлайн

#2 Окт. 23, 2013 12:27:19

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

jsonify и цикл

не очень понятно где там нужен цикл

Офлайн

#3 Окт. 23, 2013 12:29:00

rumba
Зарегистрирован: 2013-10-23
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

jsonify и цикл

цикл нужен для заполнения значений, которыми являются 1,2,3

Офлайн

#4 Окт. 23, 2013 12:35:48

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

jsonify и цикл

#python3
from string import ascii_lowercase
from itertools import count
dict(zip(ascii_lowercase, map(str, count(1))))

Отредактировано bismigalis (Окт. 23, 2013 13:19:58)

Офлайн

#5 Окт. 23, 2013 12:39:12

rumba
Зарегистрирован: 2013-10-23
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

jsonify и цикл

Это все, конечно, очень хорошо, но дело в том, что я приводил пример, как должен выглядеть ответ. Мне нужен именно цикл

Офлайн

#6 Окт. 23, 2013 12:40:17

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

jsonify и цикл

ну так давай исходные данные :)

Офлайн

#7 Окт. 23, 2013 12:41:53

rumba
Зарегистрирован: 2013-10-23
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

jsonify и цикл

данные берутся из базы данных и там они могут меняться. неизменным остается количество ключей и значений - 22

Офлайн

#8 Окт. 23, 2013 12:51:03

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

jsonify и цикл

rumba
данные берутся из базы данных и там они могут меняться. неизменным остается количество ключей и значений - 22

мне это не интересно

я имел ввиду так

есть список
['a', 'b', 'c']

подскажите как из этого получить словарь вида
{'a':1, 'b':2, 'c':3}

Офлайн

#9 Окт. 23, 2013 16:07:59

rumba
Зарегистрирован: 2013-10-23
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

jsonify и цикл

Если так, то есть список кортежей:

[('value0', 'value1', 'value2'), ('value0', 'value1', 'value2'), ('value0', 'value1', 'value2')]
подскажите как из этого получить словарь вида:
{
    1: {
             'key1': 'value0',
             'key2': 'value1',
             'key3': 'value2'
    },
    2: {
             'key1': 'value0',
             'key2': 'value1',
             'key3': 'value2'
    },
    3: {
             'key1': 'value0',
             'key2': 'value1',
             'key3': 'value2'
    }
}

Отредактировано rumba (Окт. 23, 2013 16:09:29)

Офлайн

#10 Окт. 23, 2013 17:17:26

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

jsonify и цикл

lst = [('value0', 'value1', 'value2'),
       ('value0', 'value1', 'value2'),
       ('value0', 'value1', 'value2')]
d = dict()
for i, v in enumerate(lst, 1):
    d[i] = dict()
    for j, item in enumerate(v, 1):
        d[i]['key' + str(j)] = item
print d

Отредактировано bismigalis (Окт. 23, 2013 19:07:30)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version