我试图遍历每个'节点?' python中的JSON对象我正在尝试实现像
这样的递归函数def function(data):
for element in data:
--- do something----
if (some condition):
function(element)
我想知道的是如何找到所讨论的元素是另一个对象还是一个字符串。也就是说,我应该在上面的代码中写什么而不是'某些条件'。就像我浏览XML一样,我检查它是否有任何使用getchildren()的子节点,如果有,我会再次递归调用该函数.....
答案 0 :(得分:1)
在Python中,使用type
通常不赞成更具功能性的isinstance
。您还可以使用isinstance
:
if isinstance(myVar, (list, tuple)):
# Something here.
答案 1 :(得分:1)
一个好的pythonic方法可以是这样的:
def function(data):
try:
for element in data:
--- do something----
function(element)
except TypeError:
pass
如果你试图迭代一些不可迭代的东西,那么就让python引发异常;)
答案 2 :(得分:0)
您可以使用type(var)
函数来检查元素是字典还是列表。
def recurse(data):
for element in data:
if type(element) is list or type(element) is dict:
recurse(element)
else:
# do something with element
pass