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

为什么无法操作[input()]生成的列表?该如何实现对应操作?

问题原因
  • 索引越界:[input()]的写法只会生成长度为1的列表,Python列表索引从0开始计数,list[1]对应的是列表第二个元素,不存在,调用时会直接抛出IndexError异常。
  • 类型错误:input()函数默认返回字符串类型,就算你输入的是数字,得到的也是"1"、"2"这类字符串格式,无法直接执行减法运算,就算列表长度足够,也会抛出TypeError异常。
    额外说明:不要使用list作为变量名,list是Python内置的列表构造方法,直接用作变量名会覆盖原生方法,后续需要调用list()时会出现异常。
解决方法

如果需要从输入生成可做数值运算的列表,可按如下场景选择实现方式:

  1. 批量输入多个数字的场景(输入时用空格分隔)
    代码示例:
# 读取输入后按空格拆分,批量转为int类型存入列表
num_list = list(map(int, input().split()))
# 先判断列表长度是否满足运算要求,避免索引越界
if len(num_list) >= 2:
    A = num_list[1] - num_list[0]
    print(A)
else:
    print("请至少输入2个数字")
  1. 逐个输入数字的场景
    代码示例:
num_list = []
# 示例:录入5个数字
for _ in range(5):
    # 读取输入后转为int类型再存入列表
    num = int(input("请输入数字:"))
    num_list.append(num)
A = num_list[1] - num_list[0]
print(A)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:57:03