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

Python从字符串提取无方括号数字:AI开发年龄获取需求求解

解决提取年龄时带方括号的问题

嘿,我懂你的困扰啦!你现在用列表推导式得到的age其实是一个列表(比如输入「I am 14 years old」时,age会是[14]),直接把列表转成字符串自然就会带上方括号咯。

要拿到不带括号的纯数字,只要取列表里的第一个元素就行——毕竟你的场景里用户输入应该只会有一个年龄数字。修改后的代码可以这样写:

# Gets users age
elif "i am" in inp and "years old" in inp:
    # 提取数字并取列表第一个元素
    age = int([s for s in inp.split() if s.isdigit()][0])
    age_str = str(age)
    print(age_str)

如果想更稳妥一点(避免极端情况下列表为空导致索引报错,当然你的判断条件已经确保输入里有数字了,这个算是优化项),可以用next()函数直接获取第一个符合条件的数字:

# Gets users age
elif "i am" in inp and "years old" in inp:
    age = int(next(s for s in inp.split() if s.isdigit()))
    print(str(age))

这样输出的就是不带任何括号的纯数字字符串啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:55:45