python中具有常量键的词典词典

python中具有常量键的词典词典,python,Python,因此,我有一个对象列表,如下所示: ['bob', 'tob', 'mom'], ['tom', 'apa'], ['cat'] { {0: 'bob', 1: 'tob', 2: 'mom'}, {0: 'tom', 1: 'apa'}, {0: 'cat'} } 我想创建一个这样的词典词典: ['bob', 'tob', 'mom'], ['tom', 'apa'], ['cat'] { {0: 'bob', 1: 'tob', 2: 'mom'},

因此,我有一个对象列表,如下所示:

['bob', 'tob', 'mom'], ['tom', 'apa'], ['cat']
{
    {0: 'bob', 1: 'tob', 2: 'mom'},
    {0: 'tom', 1: 'apa'},
    {0: 'cat'}
}
我想创建一个这样的词典词典:

['bob', 'tob', 'mom'], ['tom', 'apa'], ['cat']
{
    {0: 'bob', 1: 'tob', 2: 'mom'},
    {0: 'tom', 1: 'apa'},
    {0: 'cat'}
}

什么是蟒蛇式的方法来完成这件事?谢谢

看起来您只是想将
列表
列表
转换成
集合
目录
s,其中索引映射到值

好吧,你不能这么做,因为
集合
不能保存像
dict
s这样的不可损坏的值。但是,您可以轻松地将其转换为那些
指令的
列表

每个
列表
都可以通过
dict(枚举(l))
转换为
dict。这将为您提供一个列表,该列表的使用方式与原始的
list
完全相同(因此
d[0]
返回与
l[0]
相同的内容),这似乎是您想要的

要将它们放在一个列表中,只需使用列表理解

>>> l=[['bob','tob','mom'],['tom','apa'],['cat']]
>>> d=[dict(enumerate(i)) for i in l]
>>> d
[{0: 'bob', 1: 'tob', 2: 'mom'}, {0: 'tom', 1: 'apa'}, {0: 'cat'}]
如果在迭代列表时只需要列表项的索引,则无需创建中间目录:

for i, item in enumerate(['bob','tob','mom']):
    # do something

这不是一个合法的字典字典:没有键(例如,
{0:'bob',1:'tob',2:'mom'}
?)的键是由数字组成的,正如它在目标中显示的那样。什么意思?
bob
的键是一个数字。
{0:'bob',1:'tob',2:'mom'}
(即外部字典)的键是什么?对于外部集合,您编写的是一个
集合,而不是
dict
——没有键和值,只有值。但是,即使这样也不合法,因为您只能将可散列的内容放入
集合
,而
dict
是不可散列的。非常感谢!你理解我措辞拙劣的问题,给了我一个完美的答案。好老师!