как создать словарь из списка словаря - PullRequest
0 голосов
/ 14 декабря 2018

Мне нужно создать словарь из списка словарей или, если есть какой-либо другой способ выполнить следующее требование:

У меня есть набор ключей, скажем, ключи = [1,2,3,4, 5] (не рассматривайте это как список, но я просто показываю, что я допустил, скажем, 5 ключей)

для каждого ключа у меня будет набор пары ключ-значение, так что что-то будет ниже:

d = {
    1:{
        {'one': 'test', 'two': 'new', 'three': 'dummy'}
        {'one': 'testtest', 'two': 'newnew', 'three': 'dummyextra'}
        {'one': 'newvalue', 'two': 'newvalue2', 'three': 'newvalue4'}
    }
    2:{
        {'one': 'test1', 'two': 'new1', 'three': 'dummy1'}
        {'one': 'testtest2', 'two': 'newnew2', 'three': 'dummyextra2'}
        {'one': 'newvalue3', 'two': 'newvalue23', 'three': 'newvalue43'}
    }
    1:{
        {'one': 'test', 'two': 'new', 'three': 'dummy'}
        {'one': 'testtest', 'two': 'newnew', 'three': 'dummyextra'}
        {'one': 'newvalue', 'two': 'newvalue2', 'three': 'newvalue4'}
    }

}

Все внутренние и внешние словари будут формироваться с помощью циклов.

Если из-за уникального ключа вышеупомянутое невозможно, чем какое будет альтернативное решение для получения данных в указанном формате (список словарей илисловарь списков или что-нибудь еще?).

Принимая во внимание вышесказанное, моя основная повестка дня - у меня будет уникальный тег, который будет ключом внешнего словаря, и используя этот тег, я буду создавать один заголовок HTML под этим заголовком.я буду заполнять данные, т.е. несколько ссылок, и эти внутренние данные должны поступать из внутреннего словаря из примера.

Так что в этом примере у меня есть HTML-страница с заголовком1 и под этим заголовком у меня будет 3 ссылки из внутреннего словаря.

Чем у меня будет заголовок 2 и снова 3 ссылки под ним и т. д.

Пожалуйста, помогите мнедостичь этого.

Спасибо,

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Попробуйте угадать что-то похожее на ваш ввод (dlist) только для того, как построить диктовку, используя список в качестве значения по умолчанию и добавляя данные:

dlist = [[2, {'two': 'two1'}], [1, {'one': 'one1'}], [1, {'one': 'one2'}], [2, {'two': 'two2'}] ]

res = {}
for item in dlist:
    res.setdefault(item[0], list()).append(item[1])

print(res)
#=> {1: [{'one': 'one1'}, {'one': 'one2'}], 2: [{'two': 'two1'}, {'two': 'two2'}]}
0 голосов
/ 14 декабря 2018

Вам просто нужно представлять списки с [], а не {} и не забывать запятые (,) для разделения элементов:

d = {
    1:[
        {'one': 'test', 'two': 'new', 'three': 'dummy'},
        {'one': 'testtest', 'two': 'newnew', 'three': 'dummyextra'},
        {'one': 'newvalue', 'two': 'newvalue2', 'three': 'newvalue4'}
    ],
    2:[
        {'one': 'test1', 'two': 'new1', 'three': 'dummy1'},
        {'one': 'testtest2', 'two': 'newnew2', 'three': 'dummyextra2'},
        {'one': 'newvalue3', 'two': 'newvalue23', 'three': 'newvalue43'}
    ],
    3:[
        {'one': 'test', 'two': 'new', 'three': 'dummy'},
        {'one': 'testtest', 'two': 'newnew', 'three': 'dummyextra'},
        {'one': 'newvalue', 'two': 'newvalue2', 'three': 'newvalue4'}
    ]

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