Your code justly returns False
, as you replaced the original meaning of list by your list. You shouldn't use the names of Python builtins as variable names.
So, change the name of your list and it will work as expected.
If it's too late for that, as you suggest in the edit to your question, you can still access the original list
with:
list = [1,2,3]print(type(list) == __builtins__.list) # True
Or, the more recommended way, using isinstance
instead of type(...) == ...
:
print(isinstance(list, __builtins__.list))# True