gpt4 book ai didi

Python 列表理解更改初始变量

转载 作者:行者123 更新时间:2023-12-01 05:27:01 25 4
gpt4 key购买 nike

我注意到,当您对预先存在的列表运行列表理解时,该列表在此过程后不会发生变化。

但是,如果推导式中的本地名称与您的初始变量相同。

这是为什么?

示例:

>>> y=[1,2,3,4,5]

>>> [X**2 for X in y]
[1, 4, 9, 16, 25]
>>> y
[1, 2, 3, 4, 5]

>>> [y**2 for y in y]
[1, 4, 9, 16, 25]
>>> y
5

如您所见,在第二个示例中,y已更改为整数 5 .

最佳答案

您实际上是在重新绑定(bind) y 以包含原始 y 的最后一个值。

这与以下内容没有什么不同:

In [18]: [x for x in range(5)]
Out[18]: [0, 1, 2, 3, 4]

In [19]: x
Out[19]: 4

除了您的代码使用 y 来做两个不同的事情,使问题变得困惑。

关于Python 列表理解更改初始变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21123732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com