如果满足条件,我想将新词典(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必须是整数。
我的问题不仅仅是向一些深层次的字典添加内容,而且还使用循环执行此操作。
任何建议最简单,最优雅的方法是什么?
编辑: 示例
字典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中的列表会更容易。任何建议都将非常感谢。