2024-10-04 01:29:21 发布
网友
给定一个dict,what包含n个字典,what包含n个字典等
foo = dict({"foo" : {"bar": {"baz": "some value"}}}
假设baz可能在foo中的任何地方,但它只会出现一次,是否可以不迭代地找到键“baz”的值?我在想些事情。即".//baz"
baz
foo
".//baz"
if "baz" in foo: bazVal = dict[path][to][baz]
我认为没有迭代/递归你是做不到的。你知道吗
>>> def search(d, baz): ... if baz in d: ... return d[baz] ... for value in d.values(): ... if isinstance(value, dict): ... ret = search(value, baz) ... if ret: ... return ret ... >>> >>> foo = {"foo" : {"bar": {"baz": "some value"}}} >>> search(foo, 'baz') 'some value' >>> search(foo, 'spam') >>>
使用标准字典,而不是迭代?没有
不迭代,不确定。使用,可以使用以下选项:
d = dict({"foo" : {"bar": {"baz": "some value"}}}) def myprint(d): for i in d.iteritems(): if isinstance(i, dict): myprint(i) else: print i myprint(d)
我认为没有迭代/递归你是做不到的。你知道吗
使用标准字典,而不是迭代?没有
不迭代,不确定。使用,可以使用以下选项:
相关问题 更多 >
编程相关推荐