The reason it takes long to run is that as you append elements to the list, each lookup takes longer because it has to search (on average) half the list. A better approach is to use a dictionary:
combos = {}
And:
if i not in combos:
combos[i] = None # Just to put something there unless you need to store a value
This exploits the lookup performance of hash maps.
If you are just doing membership testing, use sets as DSM suggested.