python - 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])
解决方案
matrix
在您的方法中是对矩阵对象的引用。赋值matrix
将更matrix
改为引用您新创建的对象,但不会更改原始对象的内容。 matrix[::] =
调用__setitem__
引用的matrix
对象,相应地更改对象的内容。
推荐阅读
- android - Pixel 3a 上的 Flash AOSP 图像
- angular - Kendo Angular Grid 给出“未解决的局部变量”
- python - Python:使用第三个列表提供的值将一列添加到列表列表
- flutter - 我在使用 Flutter 时遇到 CachedNetworkImageProvider 问题
- c++ - 传递实现特定接口的类
- python - 如何获取最接近列表中将手动分配的元素的元素的索引
- java - 排序数组(升序或降序) - true 或 false
- php - 使变量在所有控制器中可用
- r - 从州和县名称到 R 中的 fips
- highcharts - 如何在 Sankey 图中获取节点坐标数据