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
YangJian1994
V2EX  ›  Python

我想问一下这是为什么?

  •  
  •   YangJian1994 · 2018-04-04 18:37:21 +08:00 · 3577 次点击
    这是一个创建于 2430 天前的主题,其中的信息可能已经有所发展或是发生改变。
    a = ['1123dsfd', 'fdgt565', '345r']
    b = a.sort()
    为什么 b 得到的是 None ?不是很明白。
    18 条回复    2018-04-09 10:11:35 +08:00
    ulala
        1
    ulala  
       2018-04-04 18:39:34 +08:00 via iPhone
    因为 sort 是原地排序,不返回任何东西…… help(a.sort)就知道了
    IanPeverell
        2
    IanPeverell  
       2018-04-04 18:41:10 +08:00
    按照你的想法,应该写成

    b = sorted(a)

    a.sort() 是对 a 排序,无返回
    ballshapesdsd
        3
    ballshapesdsd  
       2018-04-04 18:59:56 +08:00
    骚年要学会查 python 文档啊
    wlwood
        4
    wlwood  
       2018-04-04 21:17:34 +08:00 via Android
    其实你写 C 排序的时候就明白了呀。传递一个指针数组过去,直接对那个内存地址进行操作,而不是重新分配地址来操作。这样就不用返回的结果了。
    congeec
        5
    congeec  
       2018-04-04 22:18:16 +08:00 via iPhone
    函数式和命令式混用的语言,要小心
    qsnow6
        6
    qsnow6  
       2018-04-04 22:34:12 +08:00
    a.sort()是个方法,无返回值;
    python 在执行无返回值的函数时,默认返回一个 None
    vegito2002
        7
    vegito2002  
       2018-04-04 22:42:21 +08:00 via iPad
    @congeec 同感, 刚开始用的时候真的是各种踩坑。
    arischow
        8
    arischow  
       2018-04-05 04:34:10 +08:00 via iPhone   ❤️ 1
    RTFD
    wujunze
        9
    wujunze  
       2018-04-05 12:31:00 +08:00
    RTFM
    YangJian1994
        10
    YangJian1994  
    OP
       2018-04-09 10:06:52 +08:00
    @ulala 好的
    YangJian1994
        11
    YangJian1994  
    OP
       2018-04-09 10:07:13 +08:00
    @IanPeverell 谢谢,知道了
    YangJian1994
        12
    YangJian1994  
    OP
       2018-04-09 10:08:15 +08:00
    @ballshapesdsd ok,会的
    YangJian1994
        13
    YangJian1994  
    OP
       2018-04-09 10:08:44 +08:00
    @wlwood 受教了,谢谢
    YangJian1994
        14
    YangJian1994  
    OP
       2018-04-09 10:09:57 +08:00
    @congeec 恩恩,知道了
    YangJian1994
        15
    YangJian1994  
    OP
       2018-04-09 10:10:19 +08:00
    @qsnow6 恩恩,谢谢
    YangJian1994
        16
    YangJian1994  
    OP
       2018-04-09 10:10:41 +08:00
    @vegito2002 是的
    YangJian1994
        17
    YangJian1994  
    OP
       2018-04-09 10:11:06 +08:00
    @wujunze 会的
    YangJian1994
        18
    YangJian1994  
    OP
       2018-04-09 10:11:35 +08:00
    @arischow RTFM 楼下正解
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1024 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:05 · PVG 05:05 · LAX 13:05 · JFK 16:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.