Операторы идентичности Python с переменными и структурами данных

У меня есть следующий код:

a = []
b = a

когда я компилирую следующий код, я получаю это:

print(b is a) --> True
print(b is []) --> False

если b = a, то не должно b is [] вернуть True?

1 ответ

Решение

Попробуй это:

    a = []
b = a


print(id(a))
print(id(b))
print(id([]))

И вы увидите, что a и b относятся к одному и тому же объекту, а next [] - к другому. Проверьте if b чтобы увидеть, если b не пустой список

Другие вопросы по тегам