欢迎来到山村网

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

2019-03-02 12:15:09浏览:46 来源:山村网   
核心摘要:  这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下  需要在程序中使

  这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下

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

  ?

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

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

  ?

1 2 3 4 5 6 7 [[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的浅拷贝的连接

  例:

  ?

1 2 3 4 5 6 >>> lists = [[]] * 3 >>> lists [[], [], []] >>> lists[0].append(3) >>> lists [[3], [3], [3]]

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

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

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

  ?

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

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

  ?

1 myList = [([0] * 3) for i in range(4)]
(责任编辑:豆豆)
下一篇:

在Python的Tornado框架中实现简单的在线代理的教程

上一篇:

Python的__builtins__模块中的一些要点知识

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com