一些Python中的二维数组的操作方法

 更新时间:2015年05月02日 17:36:28   投稿:goldensun  
这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下

需要在程序中使用二维数组,网上找到一种这样的用法:
 

#创建一个宽度为3,高度为4的数组
#[[0,0,0], 
# [0,0,0],
# [0,0,0],
# [0,0,0]]
myList = [[0] * 3] * 4

但是当操作myList[0][1] = 1时,发现整个第二列都被赋值,变成

[[0,1,0],

[0,1,0],

[0,1,0],

[0,1,0]]

为什么...一时搞不懂,后面翻阅The Python Standard Library 找到答案

list * n—>n shallow copies of list concatenated, n个list的浅拷贝的连接

例:
 

>>> lists = [[]] * 3
>>> lists
[[], [], []]
>>> lists[0].append(3)
>>> lists
[[3], [3], [3]]

[[]]是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用,修改任何

一个元素都会改变整个列表:

所以需要用另外一种方式进行创建多维数组,以免浅拷贝:
 

>>> lists = [[] for i in range(3)]
>>> lists[0].append(3)
>>> lists[1].append(5)
>>> lists[2].append(7)
>>> lists
[[3], [5], [7]]

之前的二维数组创建方式为:
 

myList = [([0] * 3) for i in range(4)]

相关文章

  • Python Numpy数组扩展repeat和tile使用实例解析

    Python Numpy数组扩展repeat和tile使用实例解析

    这篇文章主要介绍了Python Numpy数组扩展repeat和tile使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python Flask基础教程示例代码

    Python Flask基础教程示例代码

    这篇文章主要介绍了Python Flask基础教程示例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • python人工智能tensorflow函数tf.assign使用方法

    python人工智能tensorflow函数tf.assign使用方法

    这篇文章主要为大家介绍了python人工智能tensorflow函数tf.assign使用方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 详解将Python程序(.py)转换为Windows可执行文件(.exe)

    详解将Python程序(.py)转换为Windows可执行文件(.exe)

    这篇文章主要介绍了详解将Python程序(.py)转换为Windows可执行文件(.exe),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-07-07
  • Python实例教程之检索输出月份日历表

    Python实例教程之检索输出月份日历表

    这篇文章主要给大家介绍了关于Python实例教程之检索输出月份日历表的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python array中关于[a,b,c]的使用方式

    python array中关于[a,b,c]的使用方式

    这篇文章主要介绍了python array中关于[a,b,c]的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • python安装并使用virtualenv管理包的详细过程

    python安装并使用virtualenv管理包的详细过程

    本文主要介绍了Python的安装过程和如何使用virtualenv管理包,首先,用户需要访问Python官网下载安装包,并运行安装程序,安装完成后,在命令行输入Python,显示安装的Python版本号,即表示安装成功,感兴趣的朋友一起看看吧
    2024-10-10
  • 详解Python可视化神器Yellowbrick使用

    详解Python可视化神器Yellowbrick使用

    Yellowbrick是由一套被称为"Visualizers"组成的可视化诊断工具组成的套餐,其由Scikit-Learn API延伸而来,对模型选择过程其指导作用。这篇文章主要介绍了Python可视化神器Yellowbrick使用,需要的朋友可以参考下
    2019-11-11
  • python实现字符串完美拆分split()的方法

    python实现字符串完美拆分split()的方法

    今天小编就为大家分享一篇python实现字符串完美拆分split()的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python设置在shell脚本中自动补全功能的方法

    Python设置在shell脚本中自动补全功能的方法

    今天小编就为大家分享一篇Python设置在shell脚本中自动补全功能的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论