Python自学 错误记录

Python自学 错误记录,第1张

Python自学 错误记录

文章目录
  • 前言
  • 一、np数组与list列表的区分
  • 二、列表用乘号复制是浅拷贝
  • 总结


前言

初学python遇到了一些奇奇怪怪的问题,由于时间关系没能读完python bif 的底层实现代码,很多问题看起来非常难以理解。本文收纳了我自学python以及实验室项目开发过程中遇到的问题,并对解决办法进行记录整理,仅供自己参考。


一、np数组与list列表的区分 numpy.array和python内置的list都是数据处理中常用的两种结构。由于它们长得实在是太过相似,我经常将他俩弄混。

例如:

这里出现报错的原因是因为我将二维列表list[ [ ] ] 当作np数组,通过[x, y]的方法进行索引,把一个数赋值给了一个二维列表[[ ]]。

对np.array索引用 nparray[x,y]
对二维list索引要用 list[ x ][ y ]

二、列表用乘号复制是浅拷贝 例如这里:


通过列表乘法复制:

list2D = [  [0,1,2,3]  ]*4

得到的拓展四倍后的新列表是对第一个元素的浅拷贝,所以当出现上图中对其中某个项进行赋值后,可以看到,全部的列表都跟随改变了。

需要注意的是:

numpy.array中使用乘号进行拷贝是深拷贝,每项可以单独赋值,不会引起拷贝的其他元素跟随改变。

例如这里的代码,虽然也是使用了乘法复制,但是实现的功能是深拷贝


总结

这里记录了我自学python过程中的种种错误,以此提醒自己多看多学多思考。

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

原文地址: https://outofmemory.cn/zaji/5651993.html

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

发表评论

登录后才能评论

评论列表(0条)

保存