深度优先遍历嵌套容器,深度历嵌套容器,一个小花招,实现深度优先


一个小花招,实现深度优先遍历任意嵌套容器。

注意,遇到字符串会挂。

Python的字符串一方面有“容器”的外观(支持__iter__),另一方面它的“元素”却和“容器”本身有相同的类型,都是字符串,这一点和其他语言中的字符串有很大不同。

def dft(tree):        try:                for c in tree:                        for e in dft(c):                                yield e        except TypeError:                pass        yield tree#该片段来自于http://byrx.net

评论关闭