def deep_iterate(li, pos=tuple(), yield_pos=False):
"""Iterate over all elements of Iterable li"""
for j, elem in enumerate(li):
if isinstance(elem, Iterable) and not isinstance(elem, str):
yield from deep_iterate(
elem, pos=(pos + (j, )), yield_pos=yield_pos
)
else:
yield (elem, pos + (j, )) if yield_pos else elem
评论列表
文章目录