Welcome, guest | Sign In | My Account | Store | Cart
from __future__ import nested_scopes
import types

found='found'

def deepindex(sequence, goal):
    """deepindex(sequence,goal) -> index list"""
    def helper(sequence,index_list):
        for item in sequence:
            if item==goal:
                index_list.append(sequence.index(item))
                raise found,index_list
            elif isinstance(item,types.ListType) or isinstance(item,types.TupleType):
                index_list.append(sequence.index(item))
                index_list=helper(item,index_list)
        else: return index_list[:-1]

    try: helper(sequence,[])
    except found,index_list: return index_list
    else: return -1

History