如何满足条件,如何通过循环将新词典添加到词典词典词典中?

时间:2018-03-19 09:20:26

标签: python-3.x loops dictionary

如果满足条件,我想将新词典(X)添加到字典(B_m)的词典(A_n)的字典(D)中。这必须通过循环完成(因为X可能是100,000个样本或更多)。

添加的条件是:X [“POS”] == B“POS”]。所有词典X都具有与D中已有的所有词典B相同的键名。

首先,我想检查A1,如果X [“POS”]键的值与Bn [“POS”]键相同。如果为True,我想将字典X添加到B,名称为B_m + 1(或其他名称)。

如果为False,我想检查A2中的相同内容,等等。如果X [“POS”]不在其中,我想在D中添加一个新的字典A3,其中X将是第一个字典并命名为D1。

到目前为止,我有两个级别的代码远远超出了所需的代码,并给出了一个错误:TypeError:string indices必须是整数。

我的问题不仅仅是向一些深层次的字典添加内容,而且还使用循环执行此操作。

任何建议最简单,最优雅的方法是什么?

This is the structure I am trying to build.

编辑: 示例

字典D可能如下所示:

D = {'A1': [{'B1': {'value': [2, 3, 1, 0], 'POS_Seq': [2, 3, 1, 0]}}], 
'B2': {'value': [2, 3, 1, 0], 'POS_Seq': [2, 3, 1, 0]}}

要添加的字典X可以是:

X = {'value': [2,3,1,0], 'POS_Seq': [2,3,1,0]}

我会写这样的条件:

d['A1']['B1]['POS_Seq'] == X['POS_Seq']

这会出错:

SyntaxError: invalid syntax

在此之后,我会做类似的事情:

d['A1']['B3] = X

我知道我想要的是复杂的,但我想知道我是否应该使用字典。也许DataFrame中的列表会更容易。任何建议都将非常感谢。

0 个答案:

没有答案