python即使将输入变量分配给另一个变量,如何更改它的值?

Fawzy Hegab

我想定义一个以列表x作为其输入变量的函数,假设我想在执行该函数后使输入变量(x)的值不变,我认为我应该做的就是分配输入的值变量(x)到另一个变量(y),并对该新变量(y)进行计算,最后返回y,保持输入变量x不变(这是代码中的第二个函数)。

实施该代码所产生的结果与未添加新变量y并对y执行计算的结果相同。x的值已更改。(它给出的结果与第一个函数相同)

我发现通过构造一个空列表y然后将x的条目一个接一个地添加到y并在y上执行操作来间接将x的值赋给y可以解决此问题(如代码中的第三个函数) 。

我的问题是,python为什么要这样做?当我将x的值赋给y并且在y上进行的计算使x保持不变时,不应该是这种情况吗?我想念什么?

def li(X):
   X.append(1)
   return(X)

def le(X):
   Y=X
   Y.append(1)
   return(Y)

def lo(X):
   Y=[]
   for i in range(X):
          Y.append(X[i])
   Y.append(1)
   return(X)
克里斯汀·迪恩(Christian Dean)

我想念什么?

您的问题在于Python变量的工作方式。你看,当你将列表x的变量y,你没有创造一个副本x而是您创建对列表引用x这意味着当两个变量更改(xy)时,它们都更改,因为它们都指向完全相同的列表。

您需要明确地告诉Python创建x到变量的副本y这样,两个变量将彼此独立:

>>> x = [1, 2, 3]
>>> 
>>> def change(x):
...     y = x[:] # create a copy of x and not a reference
...     y.append(4) # change the copy
...     return y
... 
>>> x # before change
[1, 2, 3]
>>> change(x)
[1, 2, 3, 4]
>>> x # after change
[1, 2, 3]
>>> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在Python中将一个变量的值分配给另一个变量时会发生什么?

来自分类Dev

将Object成员变量分配给另一个双重强指针

来自分类Dev

如何从另一个类更改或将值分配给私有变量JTextField?

来自分类Dev

在TCL中将变量的值分配给另一个变量

来自分类Dev

将参数分配给另一个变量有什么好处

来自分类Dev

将String变量的值分配给另一个String变量

来自分类Dev

将一个变量分配给另一个变量后,为什么更改一个变量不会更改另一个变量?

来自分类Dev

将const变量的成员分配给另一个const

来自分类Dev

如何将Angular @Input值分配给另一个变量并填充到子代中?

来自分类Dev

如何将公式的值(包含变量)分配给另一个变量

来自分类Dev

比较数据框内的日期并将值分配给另一个变量

来自分类Dev

将$ PWD / *分配给另一个变量

来自分类Dev

如何选择CSS变量并将样式值分配给另一个元素

来自分类Dev

将struct的第一个变量分配给另一个

来自分类Dev

将malloc变量也分配给另一个变量后,应该如何释放它?(C语言)

来自分类Dev

如何将变量列表分配给另一个列表

来自分类Dev

如果将状态值分配给另一个变量然后更改状态,React不会触发重新渲染

来自分类Dev

将另一个网页的特定数据分配给变量或数组

来自分类Dev

将变量的值存储在另一个变量中,然后在python的循环中将其重新分配给该变量

来自分类Dev

如何从另一个类更改或将值分配给私有变量JTextField?

来自分类Dev

PHP将php变量分配给另一个php条件

来自分类Dev

Python将值从一个变量分配给另一个

来自分类Dev

将const变量的成员分配给另一个const

来自分类Dev

将$ @分配给Shell函数中的另一个变量

来自分类Dev

bash在操作后将变量分配给另一个

来自分类Dev

如何将一个JavaScript文件中的变量分配给另一个JS File?

来自分类Dev

无法将结构变量分配给另一个结构变量

来自分类Dev

如何将包含空格的变量分配给 KSH 中的另一个变量

来自分类Dev

如何将字符串和变量的组合分配给另一个变量?

Related 相关文章

  1. 1

    在Python中将一个变量的值分配给另一个变量时会发生什么?

  2. 2

    将Object成员变量分配给另一个双重强指针

  3. 3

    如何从另一个类更改或将值分配给私有变量JTextField?

  4. 4

    在TCL中将变量的值分配给另一个变量

  5. 5

    将参数分配给另一个变量有什么好处

  6. 6

    将String变量的值分配给另一个String变量

  7. 7

    将一个变量分配给另一个变量后,为什么更改一个变量不会更改另一个变量?

  8. 8

    将const变量的成员分配给另一个const

  9. 9

    如何将Angular @Input值分配给另一个变量并填充到子代中?

  10. 10

    如何将公式的值(包含变量)分配给另一个变量

  11. 11

    比较数据框内的日期并将值分配给另一个变量

  12. 12

    将$ PWD / *分配给另一个变量

  13. 13

    如何选择CSS变量并将样式值分配给另一个元素

  14. 14

    将struct的第一个变量分配给另一个

  15. 15

    将malloc变量也分配给另一个变量后,应该如何释放它?(C语言)

  16. 16

    如何将变量列表分配给另一个列表

  17. 17

    如果将状态值分配给另一个变量然后更改状态,React不会触发重新渲染

  18. 18

    将另一个网页的特定数据分配给变量或数组

  19. 19

    将变量的值存储在另一个变量中,然后在python的循环中将其重新分配给该变量

  20. 20

    如何从另一个类更改或将值分配给私有变量JTextField?

  21. 21

    PHP将php变量分配给另一个php条件

  22. 22

    Python将值从一个变量分配给另一个

  23. 23

    将const变量的成员分配给另一个const

  24. 24

    将$ @分配给Shell函数中的另一个变量

  25. 25

    bash在操作后将变量分配给另一个

  26. 26

    如何将一个JavaScript文件中的变量分配给另一个JS File?

  27. 27

    无法将结构变量分配给另一个结构变量

  28. 28

    如何将包含空格的变量分配给 KSH 中的另一个变量

  29. 29

    如何将字符串和变量的组合分配给另一个变量?

热门标签

归档