python 列表结构更新的奇妙问题

本文探讨了Python中列表赋值导致的意外修改问题及解决方案。通过实例说明了浅拷贝与深拷贝的区别,强调了正确使用列表拷贝的重要性。

使用python + plt 画图遇到了一个奇怪的问题

应该出来的是这样:

结果做出来以后是这样:

为什么画到一起了。。。。。。

这个锅python列表背

a=[1,2]
b=a  这样  改变b ,a也会跟着一起变 ,所以就出了这样的问题

改成

a=[1,2]
b=a[:]    问题解决

 

 

注:几种用到的列表赋值方法:

一、用一个一维列表的一部分给二维列表按列更新   :  plt_arr[:, j]=c[0:int(bins/2)]       #plt_arr是一个二维 c是一个一维,并且只要c中从0到   int(bins/2)的这一部分

二、对时间效率要求高的程序避免使用for循环赋值,多使用copy或者列表级别的=赋值

三、使用Python matplotlib 如果不止要画一幅图  ,每一幅图结束后要使用plt.close(),否则可能会发生错乱 

 

转载于:https://www.cnblogs.com/dzzy/p/9304878.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值