首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

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

  •  
  •   saximi · 2017-07-05 20:06:05 +08:00 · 4835 次点击
    这是一个创建于 862 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    15 回复  |  直到 2017-07-06 14:59:56 +08:00
        1
    isword   2017-07-05 20:12:38 +08:00
    print("a[0]=%d"%a[0])

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

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

    目测纯小白自学中。最好还是找个师傅带,或者先学好英语。
        6
    Biwood   2017-07-05 20:35:16 +08:00
    显然你还没明白编程中的“赋值”这个词语的含义,建议去补一补基础知识,特别是引用、堆栈相关
        7
    misaka19000   2017-07-05 20:48:32 +08:00 via Android
    @cxbig Python 是强类型
        8
    0asis   2017-07-05 20:58:59 +08:00 via iPhone
    @cxbig 你是想说动态类型吧
        9
    Kalv8n   2017-07-05 21:03:59 +08:00 via Android
    不会英语的尴尬
        10
    cxbig   2017-07-05 21:48:04 +08:00
        11
    sumhat   2017-07-05 22:36:25 +08:00
    应该让楼主解释一下他所理解的这段代码的意思
        12
    leejanfin   2017-07-05 23:08:49 +08:00 via iPhone
    错误信息是说,
    类型错误:'int'对象是不能加下标的
    你的代码运行完第二行之后,a 就已经不是数组了,是个 int 对象。
        13
    slideclick   2017-07-06 09:36:41 +08:00
    @cxbig 不过,在所有动态语言里面,大概 python 是最强的:立即报错,中止执行。
    a=a[0]显然是小白
        14
    bingoliu   2017-07-06 13:47:20 +08:00
    看代码估计是想切片,a[:1]
        15
    kios   2017-07-06 14:59:56 +08:00
    ,,,,
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4158 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 01:58 · PVG 09:58 · LAX 17:58 · JFK 20:58
    ♥ Do have faith in what you're doing.