Python 日常踩坑之二维数组创建

Python 日常踩坑之二维数组创建,第1张

Python 日常踩坑之二维数组创建

我们创建一维数组是通常都是:

dp = [0] * N

所以我们可以推断二维列表可以这样创建:

dp = [[0] * N] * M

STOP!这样是错误的。

一维数组可以用 [0] * N 这种声明方式。但是二维数组不能用上面的声明方式,这会导致 dp 中的每行的列表是同一个 id,所以对其中一行的 *** 作都会表现为每一行的 *** 作,如下所示。

所以,在 Python 中声明二维数组的正确方式应该是使用 for 循环:

dp = [[0] * N for _ in range(M)]

这里利用 for 循环生成每一行,则每一行都是全新的,那么就不会产生上面的问题。

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5158858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存