import itertools

def negations(seq):
    for prefixes in itertools.product(['', '-'], repeat=len(seq)):
        yield [(prefix + value) for prefix, value in zip(prefixes, seq)]
all combination of a complicated list