考虑以下默认dict:
data = defaultdict(list)
data['key1'] = [{'check': '', 'sth1_1':'k1', 'sth1_2':'k2'}]
data['key2'] = [{'check': '0', 'sth2_1':'k3'}, {'check': 'asd', 'sth2_2':'k4'}, {'check':'1', 'sth2_3':'k5'}]
等等。。在
我想从data
字典(从数据.值())哪个值'check' != '1'
对于上述输入,我希望:
^{pr2}$到目前为止,我有:
for k, v in data.items():
print "k, v: ", k, v
v[:] = [d for d in v if d.get('check') == '1']
但是它给我的输出是不需要的'key1': []
:
defaultdict(<type 'list'>, {'key2': [{'sth2_3': 'k5', 'check': '1'}], 'key1': []})
什么是解决这个问题的最好的Python方法?在
这将在适当的地方做到这一点。如果你能编一本新词典的话,它可以清理一下。在
如果您真的想使用(嵌套)理解,这也可以:
^{pr2}$我认为这很简单:
或者如果你疯了:
^{pr2}$相关问题 更多 >
编程相关推荐