Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.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_List - Fatal编程技术网

Python列表删除项,即使未明确告知

Python列表删除项,即使未明确告知,python,list,Python,List,因此,我在从列表中删除元素时遇到了一个非常不寻常的问题,我用一种更小、更容易理解的格式重新创建了这个问题。基本上,从一个列表中删除一个项目将从一个不同的列表中删除相同的项目,您以前将该列表设置为主循环之外的原始列表 a = [1,2,3,4] b = a while True: print("a:", a) print("b:", b) c = int(input("delete")) del(a[c]) print("a:", a) print

因此,我在从列表中删除元素时遇到了一个非常不寻常的问题,我用一种更小、更容易理解的格式重新创建了这个问题。基本上,从一个列表中删除一个项目将从一个不同的列表中删除相同的项目,您以前将该列表设置为主循环之外的原始列表

a = [1,2,3,4]
b = a

while True:
    print("a:", a)
    print("b:", b)
    c = int(input("delete"))
    del(a[c])
    print("a:", a)
    print("b:", b)
    break
这将返回:

a: [1, 2, 3, 4]
b: [1, 2, 3, 4]
delete2 #the "2" is my input
a: [1, 2, 4]
b: [1, 2, 4]
>>> 

我研究并看到了一些关于浅拷贝/深拷贝的东西,但我不太确定,如果有人能进一步阐明这一点,那将是非常好的

这是因为
a
b
是同一列表的名称(或者更正式地说,是对同一对象的引用)

要为新列表创建名称,请复制该列表:

b = list(a)
# or
b = a[:]
这将创建一个包含完全相同成员的新列表,称为浅层副本


深度复制是指递归地复制整个结构,但这里似乎不需要它。

“看到了一些关于浅层/深度复制的东西”-并且两个都没有使用。可能重复“…但我不太确定,如果有人能透露更多信息,那就太好了”,如果我打扰了你,很抱歉,但感谢链接。如果有人真的给出了一个他所做的工作的例子,表明他费心去试着理解,我想我会花两分钟来解释。目前重复目标不是很好,但我确信有好的重复目标。非常感谢你的回答,我会调查重复目标