Make a Deal program - using sets in Python
You can do this in \$O(1)\$ space and time, where you're doing it in \$O(n)\$ space and time. I cleaned your code and got roughly the same as Graipher's code:

def make_a_deal(doors, doors_to_open):
    doors = range(1, doors+1)
    price = set(random.choice(doors))
    choice_1 = set(random.choice(doors))
    doors = set(doors)
    open_doors = set(random.sample(doors - price - choice_1, doors_to_open))
    choice_2 = set(random.sample(doors - open_doors - choice_1, 1))
    return choice_1 &lt;= price, choice_2 &lt;= price


But there are some changes you can make to make it faster.


After generating price and choice_1 you can check if the user has won, and return True, False.
You don't need to randomly select price, this is as you can rotate the doors until price is the first, always. And so you can make price = 0.
Expanding on the above we now know that 0 is the only door with the price, and so \$1 \to n\$ are all loser doors. From this we know that one of the doors we picked was a loser door, and so we can remove that door, and shift all the other doors down. Which is the same as removing the last door.
Expanding on the above, you can remove \$k\$ more loser doors, as they are randomly selected.
And so the second choice has a range of \$0 \to n - k - 1\$.


And so you can get \$O(1)\$ space and time:

def make_a_deal(doors, doors_to_open):
    price = 0
    choice_1 = random.randrange(doors)
    if choice_1 == price:
        return True, False

    choice_2 = random.randrange(doors - 1 - doors_to_open)
    return False, choice_2 == price