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

2017-07-05 20:06:05 +08:00
 saximi
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
6338 次点击
所在节点    Python
15 条回复
isword
2017-07-05 20:12:38 +08:00
print("a[0]=%d"%a[0])

你这个要干嘛,a[0] 已经是数字 1 了,当然不能用下标去访问了
bxb100
2017-07-05 20:19:38 +08:00
23333
SuperMild
2017-07-05 20:24:08 +08:00
论学好英语对于编程多么重要

'int' object is not subscriptable
gulangyu
2017-07-05 20:27:39 +08:00
就是你第二行 a = a[0] 使得之前是数组 [1] 的 a 变成了整数 1
cxbig
2017-07-05 20:30:54 +08:00
弱类型赋值很方便,但是坑也多的是

目测纯小白自学中。最好还是找个师傅带,或者先学好英语。
Biwood
2017-07-05 20:35:16 +08:00
显然你还没明白编程中的“赋值”这个词语的含义,建议去补一补基础知识,特别是引用、堆栈相关
misaka19000
2017-07-05 20:48:32 +08:00
@cxbig Python 是强类型
0asis
2017-07-05 20:58:59 +08:00
@cxbig 你是想说动态类型吧
Kalv8n
2017-07-05 21:03:59 +08:00
不会英语的尴尬
cxbig
2017-07-05 21:48:04 +08:00
sumhat
2017-07-05 22:36:25 +08:00
应该让楼主解释一下他所理解的这段代码的意思
leejanfin
2017-07-05 23:08:49 +08:00
错误信息是说,
类型错误:'int'对象是不能加下标的
你的代码运行完第二行之后,a 就已经不是数组了,是个 int 对象。
slideclick
2017-07-06 09:36:41 +08:00
@cxbig 不过,在所有动态语言里面,大概 python 是最强的:立即报错,中止执行。
a=a[0]显然是小白
bingoliu
2017-07-06 13:47:20 +08:00
看代码估计是想切片,a[:1]
kios
2017-07-06 14:59:56 +08:00
,,,,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/373306

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX