擅长:python、mysql、java
<p>基于递归计算对象大小的方法,此递归解决方案基本上将整个数据结构展平为一维列表:</p>
<pre><code>import itertools
def unpack(object, lst=[]):
typ = type(object)
dict_handler = lambda d: itertools.chain.from_iterable(d.items())
if typ is dict:
object = dict_handler(object) # Iterate over both keys and values when dict
if typ in [list, set, tuple, dict, frozenset]:
for e in object:
unpack(e, lst) # Recursive call for elements in container
else:
lst.append(object)
return lst
print(unpack(data))
</code></pre>