推荐学习书目
› 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 · 5288 views
    This topic created in 3100 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
    264768502
    May 16, 2018 via Android
    1
    list 传的是指针
    Northxw
    Northxw
    May 16, 2018
    2
    才学疏浅,没看懂
    kindjeff
    kindjeff
    May 16, 2018❤️2
    3
    前一个 y 和后一个 y 不是一个东西,写这个代码的建议拖出去打死
    Joshua999
    Joshua999
    May 16, 2018 via Android❤️1
    4
    展开
    for x in y:
    for y in a:
    c.append(x)
    enenaaa
    enenaaa
    May 16, 2018❤️1
    5
    因为还有段代码没贴出来啊
    liyiecho
    liyiecho
    May 17, 2018
    6

    c = [x for x in y for y in a] 好奇是如何做到不报错的?
    lonccc
    lonccc
    May 17, 2018 via Android
    7
    写反了
    xzpjerry731
    xzpjerry731
    May 17, 2018
    8
    @liyiecho #6 估计楼主定义了一个 y 全局变量
    xiaol825
    xiaol825
    May 17, 2018
    9
    如果完全第一次运行的话,第一个 y 那里是要出错的(未定义),你可以运行出来是因为 y 是本来已经有值了。你可以 print ( y )看一下
    v2gba
    v2gba
    May 17, 2018❤️2
    10
    你要的是:
    c = [ y for x in a for y in x]
    xiaket
    xiaket
    May 17, 2018
    11
    先把单展开的列表解析弄清楚再尝试多展开吧...
    zhusimaji
    zhusimaji
    May 17, 2018 via iPhone
    12
    列表生成式写错了啦
    aaronzjw
    aaronzjw
    May 17, 2018 via iPhone
    13
    会报错吧
    catsoul
    catsoul
    May 17, 2018
    14
    你前面用过 y 这个变量,这里的后面一个 y in a 是没卵用的
    SayHeya
    SayHeya
    May 17, 2018 via Android
    15
    执行顺序的问题
    xpresslink
    xpresslink
    May 17, 2018
    16
    楼主注意一下,在列表解析(推导)式中的双层 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   ·   Privacy   ·   Solana   ·   3800 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 09:44 · PVG 17:44 · LAX 01:44 · JFK 04:44
    ♥ Do have faith in what you're doing.