Python 如何创建字典列表的字典
我需要创建一个字典列表,或者如果有任何其他方法可以达到以下要求: 我有一套钥匙 密钥= [1,2,3,4],5](不要把它当作列表,但我只是显示我已经说出5个键) 对于每个键,我将有一组键值对,如下所示: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'} {
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: