V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
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
lovebeyondalways
V2EX  ›  Python

请教第一句后面这[0]是啥意思啊?

  •  
  •   lovebeyondalways ·
    piaokorg · 2016-05-24 09:37:56 +08:00 · 4409 次点击
    这是一个创建于 3107 天前的主题,其中的信息可能已经有所发展或是发生改变。

    table = bsobj.findAll("table", {"class": "wikitable"})[0] print(table)

    12 条回复    2016-05-25 11:45:59 +08:00
    Chilly
        1
    Chilly  
       2016-05-24 09:44:03 +08:00 via Android   ❤️ 1
    虽然看不懂,但是既然是 findAll,应该是查找并返回满足条件的数组, 0 应该是代表数组中的第一个值。
    ayaseangle
        2
    ayaseangle  
       2016-05-24 09:47:45 +08:00 via Android   ❤️ 1
    数组,,,这代码没有撸棒性。。。
    RockShake
        3
    RockShake  
       2016-05-24 09:47:57 +08:00   ❤️ 1
    table = bsobj.findAll("table", {"class": "wikitable"})[0]
    print(table)

    肯定是数组的第一个了
    zencoding
        4
    zencoding  
       2016-05-24 09:49:26 +08:00   ❤️ 1
    result = bsobj.findAll("table", {"class": "wikitable"})
    table = result[0]
    print(0)
    firemiles
        5
    firemiles  
       2016-05-24 10:13:53 +08:00 via Android   ❤️ 1
    Python 动态类型全靠文档,不然函数返回什么要进去看完代码才知道,看别人代码简直太痛苦
    Crossin
        6
    Crossin  
       2016-05-24 10:37:39 +08:00   ❤️ 1
    这是 BeautifulSoup 吧, findAll 得到的是个 list
    jugelizi
        7
    jugelizi  
       2016-05-24 10:40:27 +08:00   ❤️ 1
    爬虫吧
    拿到页面里第一个样式为 wikitable 的 table
    lovebeyondalways
        8
    lovebeyondalways  
    OP
       2016-05-24 12:45:08 +08:00 via Android
    谢谢 明白了
    wenyu1001
        9
    wenyu1001  
       2016-05-24 12:48:04 +08:00
    不是 切片操作?
    foo2bar
        10
    foo2bar  
       2016-05-24 13:09:27 +08:00
    @Crossin 在这也能看到你= =
    alexkh
        11
    alexkh  
       2016-05-24 14:35:50 +08:00
    table = bsobj.find("table", {"class": "wikitable"})

    把 findAll 改成 find ,就可以不用加[0]了
    Crossin
        12
    Crossin  
       2016-05-25 11:45:59 +08:00
    @foo2bar 没事来学习学习:)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4098 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 10:18 · PVG 18:18 · LAX 02:18 · JFK 05:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.