Python中初始化一个二维数组及注意事项说明

 更新时间:2023年08月18日 08:57:08   作者:cccxxxqq  
这篇文章主要介绍了Python中初始化一个二维数组及注意事项说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python初始化一个二维数组及注意事项

Python在初始化二维数组的时候还是有一些坑的,主要是要避免可变元素的传递改变问题:

array = [0, 0, 0]
matrix = [array] * 3
matrix[0][0] = 1
print(matrix)
>>>[[1, 0, 0], [1, 0, 0], [1, 0, 0]]

如果用上面这种方式初始化数组,实际上并不是创建了一个新的二维数组,而是创建了三个指向array的引用。

因此,如果改变array的话,这三个就会同步随之改变。

那么如何正确初始化一个二维数组呢?

方法一:

matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
matrix[0][0] = 1
print(matrix)
>>>[[1, 0, 0], [0, 0, 0], [0, 0, 0]]

方法二:(列表推导式)

matrix = [[0 for i in range(3)] for i in range(3)]
matrix[0][0] = 1
print(matrix)
>>>[[1, 0, 0], [0, 0, 0], [0, 0, 0]]

Python二维数组初始化: [[0]*n]*n 与 [[0]*n for i in range(n)]

做题的时候因为初始化成[[0]*n]*n卡了好久,后来才知道这两种方法初始化出来的数组不一样。

用第一种方式初始化,其实是将【0】*n这个列表的索引复制了n遍,改变其中一个,其它的也会跟着改变。

而第二种是通过for i in range(n)推导出的真实二维列表。 

注意:

推荐使用全部用循环或者组合的方式(里面是×,外面循环)的方式。如果都为乘的方式是浅复制,每一行的改变都会改变其他行。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Python在PowerPoint演示文稿之间复制样式

    使用Python在PowerPoint演示文稿之间复制样式

    在专业演示文稿设计与制作领域,多场演示间保持一致性至关重要,在PowerPoint演示文稿之间复制幻灯片母版成为了一项关键技巧,本文中,我们将探讨如何使用Python在不同的PowerPoint演示文稿之间复制幻灯片母版,提升演示文稿创作流程的效率与美观度,需要的朋友可以参考下
    2024-05-05
  • Python实现批量采集商品数据的示例详解

    Python实现批量采集商品数据的示例详解

    这篇文章主要为大家详细介绍了如何利用Python实现批量采集商品的数据,文中的示例代码讲解详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Python坐标线性插值应用实现

    Python坐标线性插值应用实现

    这篇文章主要介绍了Python坐标线性插值应用实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Python自动化办公之图片转PDF的实现

    Python自动化办公之图片转PDF的实现

    实现图片转换成PDF文档的操作方法有很多,综合对比以后感觉fpdf这个模块用起来比较方便而且代码量相当少。所以本文将利用Python语言实现图片转PDF,感兴趣的可以了解一下
    2022-04-04
  • Python 多线程知识点总结及实例用法

    Python 多线程知识点总结及实例用法

    在本篇内容里小编给大家整理了一篇关于Python 多线程知识点总结及实例用法,对想好学习PY的用户非常友好,需要的参考下吧。
    2021-12-12
  • python graphviz画图详情

    python graphviz画图详情

    这篇文章主要介绍了python graphviz画图详情,文章围绕graphviz画图的相关资料展开内容,并附有官方安装链接,需要的小伙伴可以参考一下,洗碗给对你有所帮助
    2021-12-12
  • python 使用opencv 把视频分割成图片示例

    python 使用opencv 把视频分割成图片示例

    今天小编就为大家分享一篇python 使用opencv 把视频分割成图片示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 解决yum对python依赖版本问题

    解决yum对python依赖版本问题

    这篇文章主要介绍了解决yum对python依赖版本问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • plt.figure()参数使用详解及运行演示

    plt.figure()参数使用详解及运行演示

    这篇文章主要介绍了plt.figure()参数使用详解及运行演示,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Selenium的使用详解

    Selenium的使用详解

    今天小编就为大家分享一篇关于Selenium的使用详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10

最新评论