常用的python知识
- 花哨索引:
a=np.array([22,44,12,4])
b=[1,3]
a[b]
返回:
array[44,4]
注意这里的a,必须是numpy的数组,不能是列表
- numpy中的动态数组:np.append(a,2)
注意:numpy的array对象没有append属性,故不能使用a.append;
3.python 深拷贝与浅拷贝
这里特别容易出错
可以参考这个链接
1. 直接赋值,默认浅拷贝传递对象的引用而已
a=[1,2,3]
b=a
b[2]=0
输出:a=[1,2,0]
2. copy浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变
3. 深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变
d=copy.deepcopy(alist)
- numpy 的append与list的append是不一样的。
np.append(a,...)会产生一个新的数组
而a.append(...)直接在原数组上变化