Python:使用列表切片作为for循环的目标

Python:使用列表切片作为for循环的目标,第1张

Python:使用列表切片作为for循环的目标

它按预期工作。(至少对于“预期”的某种解释。)

为此,请重新编写代码,以防止

a[-1]
在任何时候出现误解:

a = [a for a in range(0,4)]for b in a:    print (b)    a[-1] = b    print (a)

向我们展示

0[0, 1, 2, 0]1[0, 1, 2, 1]2[0, 1, 2, 2]2[0, 1, 2, 2]

可以清楚地看到,立即

b
分配
a[-1]
,并在迭代时更改列表。

四个循环执行以下 *** 作:

  1. a[-1]
    设置为列表的第一个值
    0
    。结果是现在
    [0,1,2,0]
  2. a[-1]
    设置为第二个值
    1
    。结果是(很明显)
    [0,1,2,1]
  3. a[-1]
    设置为
    2
    ,结果是
    [0,1,2,2]
    –同样,仅
    a[-1]
    被更改。
  4. 最后,
    a[-1]
    将设置为中的最后一个值
    a
    ,因此有效地它不会改变,最终结果是
    [0,1,2,2]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5630876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存