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

Python for 赋值的问题请教一下?

  •  
  •   woshichuanqilz · May 16, 2018 · 4992 views
    This topic created in 2964 days ago, the information mentioned may be changed or developed.

    像这个表达式 为什么 c = [2,2] 而不是 [1,2]

    20180516232544

    16 replies    2018-05-17 15:39:44 +08:00
    264768502
        1
    264768502  
       May 16, 2018 via Android
    list 传的是指针
    Northxw
        2
    Northxw  
       May 16, 2018
    才学疏浅,没看懂
    kindjeff
        3
    kindjeff  
       May 16, 2018   ❤️ 2
    前一个 y 和后一个 y 不是一个东西,写这个代码的建议拖出去打死
    Joshua999
        4
    Joshua999  
       May 16, 2018 via Android   ❤️ 1
    展开
    for x in y:
    for y in a:
    c.append(x)
    enenaaa
        5
    enenaaa  
       May 16, 2018   ❤️ 1
    因为还有段代码没贴出来啊
    liyiecho
        6
    liyiecho  
       May 17, 2018

    c = [x for x in y for y in a] 好奇是如何做到不报错的?
    lonccc
        7
    lonccc  
       May 17, 2018 via Android
    写反了
    xzpjerry731
        8
    xzpjerry731  
       May 17, 2018
    @liyiecho #6 估计楼主定义了一个 y 全局变量
    xiaol825
        9
    xiaol825  
       May 17, 2018
    如果完全第一次运行的话,第一个 y 那里是要出错的(未定义),你可以运行出来是因为 y 是本来已经有值了。你可以 print ( y )看一下
    v2gba
        10
    v2gba  
       May 17, 2018   ❤️ 2
    你要的是:
    c = [ y for x in a for y in x]
    xiaket
        11
    xiaket  
       May 17, 2018
    先把单展开的列表解析弄清楚再尝试多展开吧...
    zhusimaji
        12
    zhusimaji  
       May 17, 2018 via iPhone
    列表生成式写错了啦
    aaronzjw
        13
    aaronzjw  
       May 17, 2018 via iPhone
    会报错吧
    catsoul
        14
    catsoul  
       May 17, 2018
    你前面用过 y 这个变量,这里的后面一个 y in a 是没卵用的
    SayHeya
        15
    SayHeya  
       May 17, 2018 via Android
    执行顺序的问题
    xpresslink
        16
    xpresslink  
       May 17, 2018
    楼主注意一下,在列表解析(推导)式中的双层 for 循环和直接用循环语句的层次是一样的。
    c = []
    for y in a:
    □□□□for x in y:
    □□□□□□□□c.append(x)


    c = [ x for y in a for x in y]
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1027 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 23:37 · PVG 07:37 · LAX 16:37 · JFK 19:37
    ♥ Do have faith in what you're doing.