-1

这是代码:

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、.append)时,相同的更改将应用​​于 Class13。这令人沮丧,因为我需要另一个函数的原始列表。有没有办法保留原始列表或复制它以使其不会被更改?

4

1 回答 1

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)
于 2013-10-12T15:30:19.283 回答