我想計算JSON結構中的葉節點數(即只有沒有其他子元素的節點)節點數。計數JSON葉節點
我找不到任何明顯的做法,所以一直在努力編寫一個函數,但我努力尋找一個可以工作的函數,而不使用全局變量。
這是我到目前爲止有:
def count_leafs(nested):
is isinstance(nested, Mapping):
for k, v in nested.items():
if isinstance(v, Mapping):
for i_k, i_v in count_leafs(v):
yield i_k, i_v
elif isinstance(v, MutableSequence):
for i_k in v:
for i_i_k, i_i_v in i_k.items():
count_leafs(i_i_v)
else:
yield k, v
elif isinstance(nested, MutableSequence):
for k in nested:
count_leafs(k)
for k,v in count_leafs(json):
leaf_count += 1
這並未真正發揮一些非葉節點進行計數,並且它不是遞歸一路下跌到一些結構。
用Python3取代了str的基礎字符串,歡呼海。 – Richard
很酷。我學到了一些新東西。 –