Я создал 2 списка, один для понимания списка, а другой с использованием итерации. Второй список начинался как пустой список, поэтому он должен иметь другое расположение в памяти. Таким образом, ==
должно вернуть False
, но возвращает True
. Обратите внимание, что место в памяти другое (второй вызов печати):
my_list = [x*2 for x in range(1, 10, 1)]
new_list = []
for item in range(1, 10, 1):
new_list.append(item * 2)
print(my_list == new_list) # True
print(hex(id(my_list)) == hex(id(new_list))) #False
Пожалуйста, объясните, почему это так?