如何创建字典列表字典

2024-09-29 22:25:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要创建一个字典列表字典,或者如果有任何其他方法来实现以下要求:

我有一套钥匙 keys=[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标题, 在这个标题下,我将填充数据,即多个链接,并且内部数据必须来自示例中的内部字典。在

所以在这个例子中,我有一个标题为1的html页面,在这个标题下,我将有3个链接,这些链接将来自内部字典。在

比我将有头2和再次3个链接下,等等。在

请帮我实现这个目标。在

谢谢


Tags: 数据方法test标题列表new字典链接
2条回答

试着猜测一些与您的输入(dlist)类似的东西,来说明如何使用列表作为默认值并附加数据来构建dict:

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'}]}

您只需要用[]而不是{}来表示列表,并且不要忘记使用逗号(,)来分隔元素:

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'}
    ]

}

相关问题 更多 >

    热门问题