加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python基础语法的一些小知识

发布时间:2020-12-20 12:57:40 所属栏目:Python 来源:网络整理
导读:1. 用列表作为索引 1 a = np.around(10*np.random.random((3,3 ))) 2 b = [0,1,2 ] 3 c = [0,2 ] 4 print (a) 5 print (a[b,c]) 运行结果如下,利用[0,2]作为行索引, [0,2]作为列索引,输出了a[0,0],a[1,1],a[2,3]。 ? 2.复制 (1) a ?= b是将b的id复制给b,

1. 用列表作为索引

  

1 a = np.around(10*np.random.random((3,3)))
2 b = [0,1,2]
3 c = [0,2]
4 print(a)
5 print(a[b,c])

运行结果如下,利用[0,2]作为行索引, [0,2]作为列索引,输出了a[0,0],a[1,1],a[2,3]。

?

2.复制

  (1) a?= b是将b的id复制给b,然后a与b指向同一个对象

1 import numpy as np
2 
3 a = np.arange(5)
4 print(a)
5 b = a
6 print(id(a))
7 print(id(b))

  可以通过下图的运行结果看到,a的id与b的id相等,指向的同一个物体。

  (2) b = a.view() 是浅复制,b和a是不同的对象,但是他们的元素是共享的。

1 import numpy as np
2 
3 a = np.arange(5)
4 print(a)
5 b = a.view()
6 print(id(a))
7 print(id(b))
8 b[0] = -1
9 print(a)

  通过下图运行结果可以看到,a和b是不同的对象,但是当我改变a的元素的时候,b的元素也发生了改变。‘

  (3)b = a.copy()是深复制,b中的元素是a中的副本

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读