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

如何检查Python列表中指定元素是否为数值类型?

检查列表中age和income的数值类型方法

因为你的数据是Python原生嵌套列表,不是pandas DataFrame,所以没法用.dtypes,直接用Python原生的类型检查工具就能搞定:

方法一:逐个检查每个元素的类型

遍历列表里的每一组数据,用isinstance()函数判断age和income是否为int或float类型:

vals = [[37, 48701.413701616024, 'f'], [57, 55559.77744809075, 'f'], [21, 44217.05520426258, 'm'], [64, 57313.15824195174, 'm'], [31, 48504.05753555914, 'f'], [77, 57761.55864292855, 'f'], [58, 54295.161011633056, 'm']]

for age, income, _ in vals:
    # 检查age类型
    print(f"当前age值 {age} 的类型: {type(age)}, 是否为数值: {isinstance(age, (int, float))}")
    # 检查income类型
    print(f"当前income值 {income} 的类型: {type(income)}, 是否为数值: {isinstance(income, (int, float))}")

方法二:批量验证所有元素是否符合要求

如果想一次性确认所有age和income都是数值类型,用all()结合生成器表达式更高效:

# 验证所有age都是数值类型
all_ages_valid = all(isinstance(item[0], (int, float)) for item in vals)
# 验证所有income都是数值类型
all_incomes_valid = all(isinstance(item[1], (int, float)) for item in vals)

print(f"所有age均为数值类型: {all_ages_valid}")
print(f"所有income均为数值类型: {all_incomes_valid}")

补充说明

isinstance()比直接用type()更灵活,因为它能同时匹配int和float两种数值类型,避免你分别判断整数和浮点数的麻烦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 10:05:35