Type of a list is not recognized Python

Question:

I’m trying to write a program that can recognize a list but the program doesn’t work

co = {"value1": "string", "value2": [{"value": "list"}]}
print(type(co["value2"]))
if type(co["value2"]) == list:
  print("list!")
  # This is the desired result
else:
  print("other!")

The console only shows the following:

<class 'list'>
other!

The console should show the following:

<class 'list'>
list!

I’ve already tried to fix the error by just setting a list as "co" but the result is the same!
Maybe I’m doing very badly and have overlooked a very small thing, but I haven’t found anything
The list should recognize it so that it is processed differently than a set type
Maybe someone can help me there or has ideas to help solve the problem.

Asked By: Zertik

||

Answers:

You code works fine, I think you might use list as a variable name above somewhere in your code and you have overridden its main functionality.

although,
it is better to use isinstance() for type checking.

so you can change your if condition like this:

if isinstance(co["value2"], list):
Answered By: Mehrdad Pedramfar
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.