900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Python 创建一维数组 二维数组和N维数组

Python 创建一维数组 二维数组和N维数组

时间:2021-07-19 21:50:56

相关推荐

Python 创建一维数组 二维数组和N维数组

Python 创建一维数组、二维数组和N维数组

我们已经很熟悉在C++上创建一维二维数组了,那么如何在Python上创建二维数组呢

>>> A = [0]*3>>> B = [[0]*2]*3

这样就可以得到我们的一维数组和二维数组了,我们可以看一下结果

>>> A[0, 0, 0]>>> B[[0, 0], [0, 0], [0, 0]]

似乎好像这样的方法,就能很好的创建一个二维数组,但是,如果简单认为就这样就大错特错了,python有个东西就是共享地址,所以我们这里其实是一个深拷贝,我们同时也把我们地址复制了,所以我们改变其中的数,也会改变,我们可以看一个例子。

>>> B[0][0] = 2>>> B[[2, 0], [2, 0], [2, 0]]

真的是坑爹啊,我被这个可是弄惨了,如果你觉得将其作为另一个变量,实际上我们的id也就是地址也是没有改变的,没什么区别的,任意修改一个元素就会修改整个列表的,并且python中的列表是一个可变类型,所以就会有这样的结果。

那么正确的做法应该是什么,我查了查资料,这样创建我们Python的列表

>>> C = [[0]*3 for i in range(4)]>>> C[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]>>> C[0][1] = 2>>> C[[0, 2, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

这样就不会造成随意改一改变量,我们的整个列表都被改变了,最后总结一下如何动态创建数组

aList = [[0] * cols for i in range(rows)]

每日一句

The shortest way to do many things is to only one thing at a time.

做许多事情的捷径就是一次只做一件事。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。