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

如何用Python提取列表中字符串最后一个下划线后的整数?

提取列表中字符串最后一个下划线后的整数

输入输出示例

输入

lst = ['table_name_student_1', 'table_name_student_20', 'table_name_student_300', 'table_name_student_4500']

期望输出

[1, 20, 300, 4500]

你的尝试(修正版)

你已经能处理单个字符串,但原代码里split('_')返回的是分割后的列表,要取最后一个元素才能得到数字部分:

table_name = 'table_name_student_12345'
id_str = table_name.split('_')[-1]
print(id_str)  # 输出: 12345

批量处理列表的方法

要把这个逻辑应用到整个列表,有两种简单高效的方式:

方式1:列表推导式

遍历列表里的每个字符串,逐个处理后转成整数:

lst = ['table_name_student_1', 'table_name_student_20', 'table_name_student_300', 'table_name_student_4500']
result = [int(s.split('_')[-1]) for s in lst]
print(result)  # 输出: [1, 20, 300, 4500]

方式2:map函数配合lambda

用map()批量处理每个元素,再转成列表:

lst = ['table_name_student_1', 'table_name_student_20', 'table_name_student_300', 'table_name_student_4500']
result = list(map(lambda s: int(s.split('_')[-1]), lst))
print(result)  # 输出: [1, 20, 300, 4500]

关键逻辑说明

  • split('_')[-1]:把字符串按下划线拆分后取最后一段,也就是目标数字的字符串形式
  • int():将字符串类型的数字转换成整数,保证结果是数字列表而非字符串列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:05:41