Python 如何创建字典列表的字典

Python 如何创建字典列表的字典,python,list,dictionary,Python,List,Dictionary,我需要创建一个字典列表,或者如果有任何其他方法可以达到以下要求: 我有一套钥匙 密钥= [1,2,3,4],5](不要把它当作列表,但我只是显示我已经说出5个键) 对于每个键,我将有一组键值对,如下所示: d = { 1:{ {'one': 'test', 'two': 'new', 'three': 'dummy'} {'one': 'testtest', 'two': 'newnew', 'three': 'dummyextra'} {

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

我有一套钥匙 密钥= [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'}
    }

}
所有内部和外部字典都将通过循环形成

如果由于unique key(唯一键)的原因,无法使用上述方法,那么以上述格式获取数据的替代解决方案是什么(字典列表或列表字典或其他任何内容?)

在上面我的主要议程是我将有一个独特的标签,这将是外部字典的关键,我将使用该标签创建一个HTML标题, 在该标题下,我将填充数据,即多个链接,内部数据必须来自示例中的内部字典

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

然后,我会有标题2和再次3下的链接,依此类推

请帮助我实现这一目标


谢谢,

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

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

}

试着猜测一些与您的输入类似的东西(
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'}]}

查看
defaultdict()
。嗨,安克尔,请检查一下字典的语法。你是说你的外部字典的值是列表而不是口述吗?另外,在列表或目录的元素之间需要有逗号。:)@Srini:我也试图通过制作列表来实现这一点,但不知怎么的,它并没有给我预期的结果,所以我尝试在字典中使用字典。那么,到底是什么问题尚不清楚,您试图填充什么HTML?尝试使用列表时遇到了什么错误?提供所有这些细节将使查看q的人能够更好地回答您:)。另外,请注意,您正在覆盖dict中的键
1
,是一个逗号。不是冒号,它是
你不能有两个相同的键。@彼得伍德从技术上讲,第二个定义只会覆盖first@Srini在字典文本中可以有重复的键,但在字典实际中不能有重复的键(c: