python获取提取列表里的数字

python获取提取列表里的数字

作者:Rhett Bai发布时间:2026-03-28 23:49阅读时长:13 分钟阅读次数:8
常见问答
Q
如何从包含数字和字符的列表中提取所有数字?

我有一个列表,里面同时包含数字和字符串元素,想要提取出所有数字,应该怎么做?

A

使用列表推导式筛选数字元素

可以通过列表推导式结合内置函数 isinstance 来筛选列表中的数字元素,比如整型或浮点型。例如:nums = [x for x in original_list if isinstance(x, (int, float))]。这样就能得到一个只含数字的新列表。

Q
怎样提取列表中字符串里的数字部分?

列表中元素是字符串,里面含有数字和字母,如何提取出字符串中的数字?

A

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

可以借助 re 模块,使用 re.findall(r'\d+', string) 来提取字符串中的所有连续数字。如有一个字符串 'abc123def45',调用 re.findall(r'\d+', 'abc123def45') 将返回 ['123', '45']。对列表中的每个元素应用该方法即可。

Q
如何将提取的数字字符串转换为列表中的数字类型?

从字符串中提取到数字后,它们是字符串类型,如何转换为整数或浮点数?

A

使用 int() 或 float() 函数转换数字字符串

提取出的数字字符串可以用 int() 函数转换成整数,或用 float() 转换成浮点数。如果需要转换多个数字字符串,可以结合列表推导式完成,例如:nums = [int(num_str) for num_str in num_str_list]。