请问这几行Python代码错在哪里,谢谢

a=[1]

a=a[0]
print(“a[0]=%d”%a[0])

上面的代码输出如下错误,请问这是什么原因呢?
Traceback (most recent call last):
File “d:\Python3\t1.py”, line 3, in

print(“a[0]=%d”%a[0])
TypeError: ‘int’ object is not subscriptable
请问这几行Python代码错在哪里,谢谢

16 回复

print(“a[0]=%d”%a[0])

你这个要干嘛,a[0] 已经是数字 1 了,当然不能用下标去访问了


我无法理解你的问题

论学好英语对于编程多么重要

’int’ object is not subscriptable

就是你第二行 a = a[0] 使得之前是数组 [1] 的 a 变成了整数 1

弱类型赋值很方便,但是坑也多的是

目测纯小白自学中。最好还是找个师傅带,或者先学好英语。

显然你还没明白编程中的“赋值”这个词语的含义,建议去补一补基础知识,特别是引用、堆栈相关

Python 是强类型

你是想说动态类型吧

不会英语的尴尬

应该让楼主解释一下他所理解的这段代码的意思

错误信息是说,
类型错误:'int’对象是不能加下标的
你的代码运行完第二行之后,a 就已经不是数组了,是个 int 对象。

不过,在所有动态语言里面,大概 python 是最强的:立即报错,中止执行。
a=a[0]显然是小白

看代码估计是想切片,a[:1]

,,,,

回到顶部