Python 问题 经验(更新中...

Python学习问题集锦_1

最近暑假跟着学校老师学深度学习,安好了anaconda, pytorch,把玩了jupytor notebook,最后不得不搞这个只听过没看过的python。接触下来的确很多地方由于语法的问题写起来、看起来比C++要舒服很多,不过也有很多新问题需要吐槽,仅以此文加以纪念,可能更新,随缘

首先必须提一下让我起意写这玩意儿的动机,在友学题的时候,有一个修复照片的,思路很简单,一个二维数组循环遍历更新数据,但是,啊,就总要出点幺蛾子。

关于列表深拷贝与浅拷贝的事

对于一个列表a,我们不妨将其定义为:a = [[0,0,0] for i in range(5)],是五个[0,0,0]的复制。在python中,如果你用b=a[0]的方式进行拷贝,默认是浅拷贝,相当于给你整了个指针的引用,任何在b上发生的修改由于指针相同,都会反应在a[0]上。
最为清爽直接的方法莫过于直接调用deepcopy()方法:

b = a[0].deepcopy()

相对于其他方法,比如说切片、copy()、for循环,都是对于第一层list做深拷贝,但是如果是list的嵌套,内层list仍是浅拷贝。

关于列表的操作 + +=

对于一维列表而言,这个+=就是把后来的列表褪掉一层再加进去。但是对于高维列表而言,不论你是对哪一个分量进行操作,对于高维列表中的每一个一级子列表,都会做相同的操作。
在这里插入图片描述如果想只对列表中的一个子列表进行操作,我目前找到的方法就是L[0] = L[0] + [1]
我目前还不清楚导致这种现象出现的原因,希望能有大神在评论中提醒!!

to be continued…
python吃我压路机 😃

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值