推荐学习书目
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
lin250
V2EX  ›  Python

Python 这段语法看不懂了, slice?

  •  
  •   lin250 · Jun 15, 2017 · 3463 views
    This topic created in 3257 days ago, the information mentioned may be changed or developed.

    iris = datasets.load_iris()

    X = iris.data

    y = iris.target

    X = X[y != 0, :2]

    y = y[y != 0]

    第四行 X = X[y != 0, :2]是什么意思?

    len(X)#150

    X[y != 0]#150

    X[y != 0, :2]#150

    请教各位

    官方文档里只有 s[i:j]和 s[i:j:k]两种操作

    10 replies    2017-06-16 14:15:50 +08:00
    cizixs
        1
    cizixs  
       Jun 15, 2017
    bool 值可以作为 0,1 使用
    kaka826
        2
    kaka826  
       Jun 15, 2017
    y != 0 这个表达式的值为 True or False,
    显然在 slice 中,True 是 1, False 是 0
    flaneurse
        3
    flaneurse  
       Jun 15, 2017 via Android
    顿悟,谢谢楼上
    fedel
        4
    fedel  
       Jun 15, 2017
    你有运行过 X = X[y != 0, :2] 吗???
    XYxe
        5
    XYxe  
       Jun 15, 2017
    hareandlion
        6
    hareandlion  
       Jun 15, 2017 via iPhone
    numpy 数组的行列可以单独切片
    fedel
        7
    fedel  
       Jun 15, 2017
    @fedel 原来是第三方库的用法,我试过了 python2.7 3.4 没有这种语法。
    glasslion
        8
    glasslion  
       Jun 15, 2017
    @flaneurse 你楼上的解释是错误的

    y == [0,0,0,1,1,1,2,2,2]
    y !=0 == [False, False, False, True, True,True, True,True,True,]
    y[y != 0] == [1,1,1,2,2,2]
    glasslion
        9
    glasslion  
       Jun 15, 2017   ❤️ 2
    @fedel 这当然是 python 2.7 3.4 的语法, 重载了 __getitem__ 而已

    class C(object):
    ...: def __getitem__(self, val):
    ...: print val

    >>> c= C()
    >>> c[1,2:3]
    (1, slice(2, 3, None))
    fedel
        10
    fedel  
       Jun 16, 2017
    @glasslion 感谢纠正,涨知识了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3028 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 08:27 · PVG 16:27 · LAX 01:27 · JFK 04:27
    ♥ Do have faith in what you're doing.