'Return indices of subset in superset in a list; the list is empty
if all elements of subset are not in superset.
Examples
>>> from sympy.combinatorics import Subset
>>> superset = [1, 3, 2, 5, 4]
>>> Subset.subset_indices([3, 2, 1], superset)
[1, 2, 0]
>>> Subset.subset_indices([1, 6], superset)
>>> Subset.subset_indices([], superset)'

@classmethod
def subset_indices(self, subset, superset):

    (a, b) = (superset, subset)
    sb = set(b)
    d = {}
    for (i, ai) in enumerate(a):
        if (ai in sb):
            d[ai] = i
            sb.remove(ai)
            if (not sb):
                break
    else:
        return list()
    return [d[bi] for bi in b]
