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

VS Code中Python列表转整数失败:ValueError错误求助

解决ValueError: invalid literal for int() with base 10: '4\x1a'问题

错误原因分析

  1. 特殊字符混入输入:\x1a是Windows系统的文件结束符(对应快捷键Ctrl+Z),在VS Code终端输入矩阵后按Ctrl+Z结束输入时,这个字符会被sys.stdin.read()读取到,导致无法转换为整数。而在线编译器和Jupyter Notebook会自动忽略该控制字符,因此不会报错。
  2. 代码逻辑错误:原代码中的for m in matrix: matrix=[int(l) for l in m]会循环覆盖matrix变量,最终仅保留最后一行的整数列表,而非完整的二维矩阵。

修复后的代码

import sys
import pandas as pd

def load_matrix():
    # 读取输入并过滤Windows结束符\x1a
    raw_input = sys.stdin.read().replace('\x1a', '')
    # 按行分割,过滤空行
    rows = [row.strip() for row in raw_input.strip().split('\n') if row.strip()]
    # 转换为整数矩阵,处理连续空格导致的空字符串
    matrix = []
    for row in rows:
        elements = [int(num) for num in row.split() if num.strip()]
        matrix.append(elements)
    
    print("\n数据加载成功")
    print("\n")
    return pd.DataFrame(matrix)

使用说明

  • 在VS Code终端输入矩阵内容后,可按Ctrl+D(Windows下也可按Ctrl+Z,代码已兼容处理)结束输入。
  • 代码支持处理输入中的连续空格,避免因分割出空字符串导致转换失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 03:01:04