1
number = 3
numbers = []
if number in numbers == False:
    numbers.append(number)

print(numbers)

I guess numbers has 3. but it has nothing.

why is this??

newbieeyo
  • 663
  • 4
  • 12

1 Answers1

4
number in numbers == False

is comparison operator chaining and equivalent to:

number in numbers and numbers == False

This is similar to the more immediately obvious examples:

1 < a < 5
x == y == z

In order to make your test work as you expect, you would have to mark precedence by parentheses:

(number in numbers) == False

or simply use the recommended:

number not in numbers
user2390182
  • 72,016
  • 6
  • 67
  • 89