首页 > 技术文章 > python 列表结构更新的奇妙问题

dzzy 2018-07-13 14:45 原文

使用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(),否则可能会发生错乱 

 

推荐阅读