Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解Python变量赋值_Python_Variables - Fatal编程技术网

理解Python变量赋值

理解Python变量赋值,python,variables,Python,Variables,如果我执行此代码: a = [1,2,3] b = a b.remove(2) print(a,b) 我希望看到的是: [1,2,3] [1,3] 但这是我真正得到的: [1,3] [1,3] 为什么调用b.remove(2)也会影响a? 如果我想更改b,同时在a中保留原始内容的副本,该怎么办?当您执行b=a时,您只需创建对同一列表的另一个引用。因此,对该列表的任何修改都将影响a和b。这样做b.remove(2)将影响您拥有的单个列表 如果要获得预期结果,可以创建列表的副本: b = a[

如果我执行此代码:

a = [1,2,3]
b = a
b.remove(2)
print(a,b)
我希望看到的是:

[1,2,3] [1,3]
但这是我真正得到的:

[1,3] [1,3]
为什么调用
b.remove(2)
也会影响
a

如果我想更改
b
,同时在
a
中保留原始内容的副本,该怎么办?

当您执行
b=a
时,您只需创建对同一列表的另一个引用。因此,对该列表的任何修改都将影响
a
b
。这样做
b.remove(2)
将影响您拥有的单个列表

如果要获得预期结果,可以创建列表的副本:

b = a[:]
这样,您可以创建列表的副本,并且可以修改其中一个而不更改另一个

>>> a = [1,2,3]
>>> b = a[:]
>>> b.remove(2)
>>> print a,b
[1, 2, 3] [1, 3]

当您执行
b=a
时,只需创建对同一列表的另一个引用。因此,对该列表的任何修改都将影响
a
b
。这样做
b.remove(2)
将影响您拥有的单个列表

如果要获得预期结果,可以创建列表的副本:

b = a[:]
这样,您可以创建列表的副本,并且可以修改其中一个而不更改另一个

>>> a = [1,2,3]
>>> b = a[:]
>>> b.remove(2)
>>> print a,b
[1, 2, 3] [1, 3]

a
b
是同一列表的两个名称,因此如果您通过一个名称更改列表,则可以通过另一个名称查看更改。如果希望它们是不同的列表,请复制:

b = a[:]


a
b
是同一列表的两个名称,因此如果您通过一个名称更改列表,则可以通过另一个名称查看更改。如果希望它们是不同的列表,请复制:

b = a[:]

您可能会喜欢以下内容:您可能会喜欢以下内容: