python递归搜索

来源:互联网 发布:羽毛球场地预订软件 编辑:程序博客网 时间:2024/05/22 14:42

rs.py

# Recursive moduleclass Recursive:def __is_list(self, obj):if type(obj) == type([]):return Trueelse:return Falsedef search(self, parentElement, callback, index=-1):temp_index = indexfor childElement in parentElement:index = temp_indexif not self.__is_list(childElement):callback(index, childElement)else:index += 1self.search(childElement, callback, index)



test.py

from rs import Recursivelist = [["Apple",["California","Computer","Product List",["iPhone",["iPhone 3","iPhone 4","iPhone 4S","iPhone 5","iPhone 5s","iPhone 6"],"iPad","iMac","iTouch"]]],["Lenovo",["Beijing","Laptop"]]]# Callback(element_index, leaf_node)def callbackFunc(i, leafNode):white_space = ''for ws in range(0, i):white_space += '    'print white_space, leafNoderc = Recursive() # search(recursive_element, callback_function)rc.search(list, callbackFunc)



0 0
原创粉丝点击