美文网首页
Python数组初始化陷阱

Python数组初始化陷阱

作者: Kyrielight | 来源:发表于2022-07-18 23:25 被阅读0次

比较以下两种数组初始化:

arr1 = [[0]*5]*5
arr2 = [[0 for i in range(5)] for j in range(5)]

乍看都是初始化一个5*5的二维数组,但若都执行相同的赋值语句后,结果却大不一样:

arr1[0][0] = 1 # arr1会变为[[1,0,0,0,0],[1,0,0,0,0],[1,0,0,0,0],[1,0,0,0,0],[1,0,0,0,0]]
arr2[0][0] = 1 # arr2会变为[[1,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]

下图解释了arr1的初始化和赋值的逻辑


arr1初始化 arr1赋值

相关文章

  • Python数组初始化陷阱

    比较以下两种数组初始化: 乍看都是初始化一个5*5的二维数组,但若都执行相同的赋值语句后,结果却大不一样: 下图解...

  • 数组的初始化

    在刷leetcode的时候,有时候都需要初始化数组,那么Python中如何初始化数组呢? 1.一维数组初始化 2....

  • 数组

    数组 初始化数组 数组名是一个地址的常量,代表数组中首元素的地址 数组逆序 python 直接[::-1] 好香?...

  • 1.数据类型、类、package

    数组 1.数组静态初始化: 数组静态初始化简写: 2.数组的动态初始化 3.二维数组静态初始化: 4.二维数组动态...

  • python实现数组操作

    实现列表 python中数组即为列表 初始化列表 读取元素 更新元素 插入元素 删除元素

  • 数组的定义与使用

    数组的定义数组类型 数组名称[] = new 数组类型[长度]; 数组的初始化 静态初始化:初始化时由程序员显示...

  • 数组

    数组 一维数组 初始化分为静态初始化和动态初始化 总结:数组一旦初始化完成,其长度确定 数组元素的默认初始化值整形...

  • Java 数组常用操作

    数组初始化: 数组初始化后,才能使用。 为数组元素分配空间,并为数组中的每个元素赋值。 初始化分类:静态初始化:指...

  • 数组

    数组的初始化:动态初始化与静态初始化 数组元素的默认初始化值:image.png###二维数组: 如何遍历二维数组...

  • 第十章_数组和指针

    1. 数组 数组声明 数组初始化 使用const声明数组,数组为只读,不能再修改。 生命数组后如果未进行初始化,数...

网友评论

      本文标题:Python数组初始化陷阱

      本文链接:https://www.haomeiwen.com/subject/dlzsirtx.html