今天在刷题的过程中,本小白发现了个易混点,自己一直以来好像都没搞明白,在此分享给诸位。
在pyhton中要得到一个二维数组,我们有两种方法:
1. s=[ [0 for _ in range(3)] ]*3
2. s=[[0]*3 for _ in range(3)]
这两种形式输出都是:
这两种形式看着很相似,并且结果也相同,但在实际运用过程中完全不同,稍不注意极其容易出错。
比如说:s[0][1]=1
执行上述操作输出为:
这两种的输出结果完全不同,第一种把第1列的值全部改为了1;第二种则是按照指令只把第0行第1列的值修改为了1。
由此可知,我们在不同的情况下,灵活创建二维数组,但也要洞悉两者的差异,千万别想我一样,明明思路都对,最后却因为一个小错误而疑惑很久。