Python 创建二维词典并为其编制索引
这只是我制作的一个快速片段,因为我的代码太复杂了,无法进入,但我基本上想要的是:Python 创建二维词典并为其编制索引,python,list,dictionary,Python,List,Dictionary,这只是我制作的一个快速片段,因为我的代码太复杂了,无法进入,但我基本上想要的是: 以名称作为键,以空列表作为值的dict 在那张空名单上附加一系列问题 这些问题是关键,它们的值是一个空列表 在空列表中附加一个答案列表 我能够做到这一点,但我的问题是,要引用他们询问的键或为其分配任何内容,除了键之外,我还必须引用该列表中的索引 他们需要在列表中,因为每个名字都有一个问题列表,每个问题都有一个答案列表,如下所示: 这里的代码显示了我是如何制作dict并附加到它的,在实际代码中,这是在循环中完成的,但
>names=[“约翰”、“马克”、“杰克”]
>namesDict={x:[]表示名称中的x}
>名言
{'mark':[],'jake':[],'john':[]}
>namedict[“mark”].追加({“question”:[]})
>名言
{'mark':[{'question':[]}],'jake':[],'john':[]}
>namedict[“标记”][“问题”]。附加(“答案”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:列表索引必须是整数,而不是str
>namedict[“标记”][0][“问题”]。附加(“答案”)
>名言
{'mark':[{'question':['answer']}],'jake':[],'john':[]}
我想你在这里要找的是跳过这些列表,然后放一些字典。它看起来像这样:
names = ["john","mark","jake"]
namesDict = {x: {} for x in names}
namesDict['mark']['question1'] = []
namesDict['mark']['question1'].extend(('ans1_1', 'ans1_2', 'ans1_3'))
print(namesDict) # {'john': {}, 'mark': {'question1': ['ans1_1', 'ans1_2', 'ans1_3']}, 'jake': {}}
namesDict['mark']['question2'] = []
namesDict['mark']['question2'].extend(('ans2_1', 'ans2_2', 'ans2_3'))
print(namesDict) # {'john': {}, 'mark': {'question1': ['ans1_1', 'ans1_2', 'ans1_3'], 'question2': ['ans2_1', 'ans2_2', 'ans2_3']}, 'jake': {}}
唯一阻碍您的是如果
namedict['mark']
将有多个值与question1
匹配,请将您的代码和所有相关信息以文本形式发布,而不是图像@Thierrylahuille已更新。忘记了,所以用颜色表示代码的格式,不想让它太混乱。引用列表中特定项目的唯一方法是指定其索引,因此我认为您的问题没有答案。tbh这个问题本身太宽泛和模糊。请让它简单,并提出相应的代码!