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

报错AttributeError: 'int' object has no attribute 'replace',如何打印变量b?

解决AttributeError: 'int' object has no attribute 'replace'的问题

我来帮你拆解问题并给出修复方案:

错误根源

你碰到的AttributeError逻辑很清晰:整数(int)对象压根没有replace()方法。看你的代码,your_list[i][0]是1010,这是个纯整数,而replace()是字符串(str)专属的操作方法,直接在整数上调用必然报错。

另外代码里还有个隐藏坑:后面拼接c = b +","+your_list[i][1]+","+your_list[i][2]时,your_list[i][1]和your_list[i][2]也都是整数,直接和字符串用+拼接也会触发类型错误,得一起修正。

修正后的可运行代码

下面是调整后的代码,我加了注释说明每一步的改动原因:

your_list = [[1010, 2, 3], [1010, 7, 8]]
b = []
c = []
d = []
for i in range(1, 2):
    # 1. 先把整数转成字符串,才能使用replace方法
    b_str = str(your_list[i][0])
    # 2. 注意原代码里的replace参数带空格,但你的数据里1010没有空格,去掉空格才能让替换生效
    b_str = b_str.replace('1010', '')
    # 3. 可选:如果需要b是整数类型就转回去,不需要的话直接用b_str即可
    b = int(b_str) if b_str else b_str
    # 现在可以正常打印b了
    print(b)
    
    # 4. 拼接字符串时,用f-string自动把所有元素转成字符串,避免类型冲突
    c = f"{b},{your_list[i][1]},{your_list[i][2]}"
    # 也可以用join方式更规范:
    # c = ",".join([str(b), str(your_list[i][1]), str(your_list[i][2])])
    
    c = c.split(",")
    d.append(c)

核心注意点

  • 所有字符串操作(比如replace、split)只能在字符串类型上执行,数值类型必须先通过str()转换为字符串。
  • 字符串和数值类型不能直接用+拼接,必须统一类型后再操作。
  • 执行字符串替换时,要确保替换内容和实际数据完全匹配(比如原代码里的'1010 '带空格,但你的数据是1010无空格,这种替换是无效的)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:13:28