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

如何用split()拆分含数字的字符串?解决int类型无to_string属性报错

解决方法

你的问题核心是列表product_amount里混合了整数和字符串类型:纯数字元素被自动转成了int,而整数既没有to_string()方法(Python里转字符串用str()),也没有split()方法,所以不管加不加to_string()都会报错。而文本元素本身就是字符串,自然能正常调用split()。

给你两个可行的解决思路:

1. 处理现有列表:统一转字符串再拆分

直接在拆分前把元素转成字符串,不管它原本是int还是str:

single_amount_product = product_amount[i]
# 用str()转成字符串后再拆分
amount_products = str(single_amount_product).split('#')

这样不管元素是1还是"1#1",都会先变成字符串再按#拆分,结果分别是['1']和['1', '1'],符合你的需求。

2. 从根源避免:生成列表时统一存为字符串

如果product_amount是你自己生成或者读取的,建议在创建列表时就把所有元素都存成字符串类型,比如从文件读取时:

# 示例:从文本行读取时强制转字符串
product_amount = []
with open('your_file.txt', 'r') as f:
    for line in f:
        # 去掉换行符后转成字符串
        product_amount.append(str(line.strip()))

这样后续直接调用split()就不会有类型问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:15:34