我有一个不同长度的列表,其中包含一些字符串。tmp.append(x)
lst = [item for sublist in tmp for item in sublist] 这在循环中起作用,也就是说,lst的每个实例实际上都是我想要的,但是更改不会传输到lst = [item for sublist in tmp for item in sublist] 我检查了this discussion,上面提到的创建列表的不同副本的方法似乎没有包括我在代码中所做的任何事情
我更改了列表引用,并在迭代时将其指向整个新列表,但它仍然打印旧值。这似乎是不正确的,为什么有人想要在迭代时更改列表本身的引用本身,但迭代正在进行,一些其他功能会更改引用本身或创建新对象并将其分配给原始列表。String s : lst) { System.out.println(s);
lst = ls
我是Python的初学者,一直在处理C#和VB中的列表副本。但在Python中,每当我将列表作为参数传递并使用"for i in range“进行枚举,然后更改列表参数的值时,输入值实际上会更改原始列表。我认为Python应该默认按值传递参数,这样一旦函数完成,我仍然可以保留调用函数之前的原始值。我遗漏了什么?谢谢!