以下是代码:
def Class(clas12):
inputData = ''.join(clas12.readlines())
line=inputData.split('\n')
line2=[]
for a in line:
b=a.split(' ')
line2.append(b)
return line2
clas12=open('class12.txt','r')
Class12=Class(clas12)
Class13=list(Class12)
当我改变Class12(例如.remove,。appel)时,相同的更改将应用于Class13。这令人沮丧,因为我需要另一个功能的原始列表。有没有办法保留原始列表或复制它以便不会被更改?
答案 0 :(得分:0)
默认情况下,python使用引用而不是副本,使用更快的内存效率更快 - 如果您需要一个可以在不更改原始内容的情况下进行更改的副本:
import copy
def Class(clas12):
inputData = ''.join(clas12.readlines())
line=inputData.split('\n')
line2=[]
for a in line:
b=a.split(' ')
line2.append(b)
return line2
clas12=open('class12.txt','r')
Class12=Class(clas12)
Class13=copy.deepcopy(Class12)