python如何提取字典里的数字

本文详细介绍了Python提取字典数字的三种核心策略,包括基础扁平字典的类型判断提取、嵌套字典的递归遍历提取以及正则匹配提取隐藏数字,结合权威行业文档与报告给出了场景适配建议,对比了不同方法的优劣势,并介绍了异常处理与第三方库辅助的批量提取方案,同时提及可借助PingCode实现提取数据的业务落地,最后预测了AI辅助提取的未来趋势。

作者:Rhett Bai发布时间:2026-01-14 10:37阅读时长:9 分钟
python如何提取字典里的数字
常见问答
Q
怎样从字典中筛选出所有的数字类型值?

如何编写Python代码来遍历字典,并找出所有属于数字类型(如整数或浮点数)的值?

A

使用循环和类型检查提取数字

可以通过遍历字典的键值对,使用内置的isinstance()函数检查值是否为数字类型(int或float),然后将符合条件的值提取出来。示例代码:

numbers = [v for v in my_dict.values() if isinstance(v, (int, float))]
Q
如何从字典中提取字符串中的数字?

如果字典的值是字符串,且字符串中包含数字字符,怎样才能提取出这些数字?

A

利用正则表达式提取字符串内数字

可以使用Python的re模块,通过正则表达式查找字符串中的数字部分。示例代码:

import re

numbers_in_strings = []
for v in my_dict.values():
    if isinstance(v, str):
        nums = re.findall(r'\d+', v)
        numbers_in_strings.extend(nums)
Q
怎样提取嵌套字典中的所有数字?

如果字典的值中还包含字典或列表等复杂结构,如何递归提取所有嵌套结构中的数字?

A

递归遍历复杂结构提取数字

定义一个递归函数,判断当前元素类型。如果是数字则保存,如果是字典就遍历其键值对,如果是列表则遍历元素。示例代码:

def extract_numbers(obj):
    result = []
    if isinstance(obj, (int, float)):
        result.append(obj)
    elif isinstance(obj, dict):
        for v in obj.values():
            result.extend(extract_numbers(v))
    elif isinstance(obj, list):
        for item in obj:
            result.extend(extract_numbers(item))
    return result

numbers = extract_numbers(my_dict)
* 文章含AI生成内容
 

文章互动

这篇文章对你有帮助吗?