首页 > 解决方案 > Python:复制列表后,原始列表中添加了预期的整数

问题描述

mat=[[1,3,4,2],[6,7,8,4]]
class Solution:
    def isSuperSimilar(self, n, m, mat, x):
        arr=mat[:]
        while x > 0: 
            for i,row in enumerate(arr):
                if i%2: 
                    arr[i].insert(0,row[-1])    #Rotate right if odd by 1 
                    arr[i]= row[:-1]
                    #print(arr[i])
                else:
                    arr[i]=row[1:]+ row[:1]     #Rotate left if even by 1 
                    #print(arr[i])
                
            x-=1
        print('ARR', arr) 
        print('MAT',mat)    
MAT [[1, 3, 4, 2], [4, 6, 7, 8, 4]]                           
ARR [[3, 4, 2, 1], [4, 6, 7, 8]]

原始矩阵从未改变,我也没有直接将它们分配为 arr=mat 以便它们具有相同id但原始矩阵具有最后一个整数“6”。

这是什么虫子?我如何删除这个?

提前致谢。

标签: python

解决方案


推荐阅读