问两个取值问题
python
两个问题类似,解决其中一个应该就能解决另一个
1.如何简单快速从字典中提取一组值?
例如 a={'aaa':[{'bbb':1}{'bbb':2}]} 提取全部'bbb'的值
2.类似地,上述结构如果是json,如何?
xml我倒能用xpath快提
其实现在最大问题是要传参给一个fun来提取,不知道参数怎么写好
[解决办法]
自己定义一个类
把values用自己的类实现?
[解决办法]
def fun_dict(key, dictArr):
tmp =[]
for k in dictArr:
if k == key:
tmp.append(dictArr[k])
elif isinstance(dictArr[k], dict):
tmp = tmp + fun_dict(key, dictArr[k])
elif isinstance(dictArr[k] , list):
tmp = tmp + fun_list(key, dictArr[k])
return tmp
def fun_list(key, listArr):
tmp = []
for v in listArr:
if isinstance(v, dict):
tmp = tmp + fun_dict(key, v)
elif isinstance(v, list):
tmp = tmp + fun_list(key, v)
return tmp
if __name__ == '__main__':
a={'aaa':[{'bbb':1},{'bbb':2}]}
print fun_dict('bbb',a)