python中的相关操作

Python中的赋值操作有点类似于指针变量
def test():
a=[1,2,3]
b=a
b.clear()
print(“a”,a) [ ]
print(“b”,b) [ ]
将a指向[1,2,3]所在的内存地址处,b=a,及b也指向a所在内存地址,
b.clear() 将 [1,2,3]所在内存的地址里的数据擦除,所以a,b都为[]。

def test():
a=1
b=a
b=2
print(“a”,a) #1
print(“b”,b) #2

相当于把1的内存地址给1,b指向a的内存地址,b又改变了指向2的内存地址,所以输出为 1,2

def test():
c=[[4,5,6],[7,8,9],[10,11,12]]
d=copy.copy© #copy的时候只是保存了最外层的地址
print("cd",cd) #c,d是指向同一个地址的
d[0][0]=10
print(“c”,c) #c [[10, 5, 6], [7, 8, 9], [10, 11, 12]],指向指针的指针改变了值
print(“d”,d) #d [[10, 5, 6], [7, 8, 9], [10, 11, 12]]
d.clear()
print(“c”,c) #c [[10, 5, 6], [7, 8, 9], [10, 11, 12]]
print(“d”,d) #d [],清除了指向那个地址的指针

def gt_test():
x = torch.arange(5)
print(“x”,x) #x tensor([0, 1, 2, 3, 4])
mask = torch.gt(x, 1) #大于
print(“mask”,mask) #mask tensor([0, 0, 1, 1, 1], dtype=torch.uint8)
print(“x[mask]”,x[mask]) #x[mask] tensor([2, 3, 4])

print("x",x) #x tensor([0, 1, 2, 3, 4])
mask = torch.lt(x, 3)
print("mask",mask) #mask tensor([1, 1, 1, 0, 0], dtype=torch.uint8)
print("x[mask]",x[mask]) #x[mask] tensor([0, 1, 2])

print(x) #tensor([0, 1, 2, 3, 4])
mask = torch.eq(x, 3)  # 等于
print(mask) #tensor([0, 0, 0, 1, 0]
print(x[mask])  #tensor([3])

def mean_data():
a=np.arange(0,24).reshape([2,3,4])
print(“a[:,0] size”,a[:, 0]) #[batch,embedding]
print(“a”,a)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值