烙印99
把data[ji]=data[j][i]*2改成data[i][j]=data[i][j]*2那么下面那行会更省时间。python的list里面位置只是存放了指针以指向实际的数据,或者子list。以下是伪代码,假设没有其他操作A=a1,a2,a3B=b1,b2,b3C=c1,c2,c3List=A,B,C以你提供的代码为例,需要如此操作A,a1,B,b1,C,c1,A,a2,B,b2,C,c2,A,a3,B,be,C,c3一共18次访问。如果以改善版本为例A,a1,a2,a3,B,b1,b2,b3,C,c1,c2,c3一共12次访问。下面是我的测试代码importtimea=list(range(10000))b=list(range(10000))c=list(range(10000))data=[a,b,c]#betterperformancestart=time.time()foriinrange(3):forjinrange(10000):data[i][j]=data[i][j]*2end=time.time()print(end-start)a=list(range(10000))b=list(range(10000))c=list(range(10000))data=[a,b,c]#badperformancestart2=time.time()foriinrange(10000):forjinrange(3):data[j][i]=data[j][i]*2end2=time.time()print(end2-start2)0.018913507461547850.02604365348815918[Programfinished]`