栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python自学 错误记录

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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过程中的种种错误,以此提醒自己多看多学多思考。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/649803.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号