在Python里,判断一个参数是列表(数组)还是字典,直接用内置的type()函数或者isinstance()函数就行。
type(obj)会直接返回对象的类型,你可以拿它和list、dict这些类型做比较。不过更推荐用isinstance(obj, type),因为它能正确处理继承关系,比如判断一个对象是不是某种类型的子类。
给你看个简单的例子:
def check_type(input_data):
if isinstance(input_data, list):
return "这是一个列表(数组)"
elif isinstance(input_data, dict):
return "这是一个字典"
else:
return f"这是其他类型: {type(input_data)}"
# 测试一下
print(check_type([1, 2, 3])) # 输出:这是一个列表(数组)
print(check_type({"a": 1, "b": 2})) # 输出:这是一个字典
print(check_type("hello")) # 输出:这是其他类型: <class 'str'>
简单说,用isinstance()最稳。