首页 > 解决方案 > list[::] 和 list 有什么区别?

问题描述

这是一个将矩阵顺时针旋转 90 度的问题,我不明白为什么我不能使用:

matrix = zip(*matrix[::-1])

但:

class Solution:
    def rotate(self, matrix):
        """
        :type matrix: List[List[int]]
        :rtype: void Do not return anything, modify matrix in-place instead.
        """
        matrix[::] = zip(*matrix[::-1])

标签: pythonarrayspython-3.xlist

解决方案


matrix在您的方法中是对矩阵对象的引用。赋值matrix将更matrix改为引用您新创建的对象,但不会更改原始对象的内容。 matrix[::] =调用__setitem__引用的matrix对象,相应地更改对象的内容。


推荐阅读