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

小白求助:关于 enumerate()函数。

  •  
  •   Flygar · 2018-01-09 01:37:00 +08:00 · 1615 次点击
    这是一个创建于 2292 天前的主题,其中的信息可能已经有所发展或是发生改变。
    l = [[500, 2], [200, 5], [100, 10], [40, 25]]
    
    for k, v in enumerate(l):
        if v[0] - v[1] != 15:
            del l[k]
    
    print(l)  # [[200, 5], [40, 25]]
    
    

    为什么这个输出的结果和我想象中的不一样,不是应该只输出 [ [ 40,25 ] ] 吗?

    h4lbhg1G
        1
    h4lbhg1G  
       2018-01-09 01:53:15 +08:00   ❤️ 1
    因为删除一个之后 k 加 1 了,但是同时 l 也变化了。python 的 list 只有引用,修改的就是本体。
    Flygar
        2
    Flygar  
    OP
       2018-01-09 02:28:12 +08:00
    @h4lbhg1G 谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2824 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:01 · PVG 22:01 · LAX 07:01 · JFK 10:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.