You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python列表类型识别异常求助:判断列表却输出other

解决思路与方案

你的代码中明明打印出co["value2"]的类型是<class 'list'>,但type(co["value2"]) == list判断却不成立,核心原因通常有两个,对应以下解决方法:

方法一:使用标准类型判断函数isinstance()(推荐)

Python中判断对象类型的标准写法是用isinstance(),它能正确处理继承关系,也能规避内置类型被覆盖的问题。把你的判断条件替换成以下代码:

if isinstance(co["value2"], list):

修改后的完整代码:

co = {"value1": "string", "value2": [{"value": "list"}]}
print(type(co["value2"]))
if isinstance(co["value2"], list):
    print("list!")
else:
    print("other!")

运行后会输出你预期的结果。

方法二:检查是否覆盖了内置list类型

如果坚持要用type()比较,先检查代码中是否有不小心把list这个名称绑定到其他对象的情况,比如有没有类似list = "some string"或者list = custom_class的代码。可以在判断前加一行打印:

print(list)

如果输出不是<class 'list'>,说明内置list被覆盖了,找到并删除那行错误的赋值代码即可。

内容的提问来源于stack exchange,提问作者Zertik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 12:03:14