从字典中删除元素,同时保持格式

时间:2017-06-20 11:18:35

标签: python dictionary time append 2d

我有一个字典,其中包含多个对象的时间间隔,即实际上是x轴上的时间和y中的对象的2D阵列。我也有相同的形状字典用于恒星通量值与那些时间一起去,最后我有一个包含Stellar ID的字典,它是一维字符串数组。

这些是带有' FLAG'的字典。其中,如果dic['FLAG'] != 0,则丢弃相应的通量和时间值。

使用time_new = (dic['time'][np.where(dic['FLAG'] == 0.)])似乎通过2D时间字典将每个接受的值附加到下一个结尾,而不是简单地删除那些不适合并切除整个2D数组形式的值。

有没有人对如何解决这个问题有任何建议?非常感谢!

2 个答案:

答案 0 :(得分:1)

我不确定你究竟是什么意思,所以我会给你一些可能的答案/提示。

#The dictionary
A = {"a" : 1, "b" : 2}

#N1
A.popitem()

#N2
A.pop("a")

#N3
List = list(A.keys())
A.pop(List[(len(List) - 1)])

我希望你能从中获得有用的东西。

答案 1 :(得分:1)

简单的方法:

import copy
A = {'obj1':{'value':1,'time':{'FLAG':0}},
 'obj2':{'value':1,'time':{'FLAG':1}},
 'obj3':{'value':1,'time':{'FLAG':0}},
}
B = copy.deepcopy(A)
objs = B.keys()
for obj in objs :
    if B[obj]['time']['FLAG']==0:
        del B[obj]
print B

结果是:

{'obj2': {'value': 1, 'time': {'FLAG': 1}}}