目录

例1:查找指定元素的索引 + 赋值

例2:查找指定元素的索引 + 赋值

例3:查找指定元素的索引 + 统计个数

例4:查找指定元素的索引 + 统计个数


看下面的几个例子,其中例1、例2结合了变量赋值传递时的 传值、传址、深拷贝情况:

 例1:查找指定元素的索引 + 赋值

【注】:下面用 c = a (属于传址、引用、传可变对象),改变 c 也改变原变量 a 的值。

import numpy as np

a = np.random.randint(-2, 2, (1, 10))
print ("随机数组a(前)  :  "+str(a))  #输出数组a(前)
c = a
c[(a==0)] = 999              #条件为a==0
print ("改变指定数值后:  "+str(c))  #输出满足条件的个数
print ("随机数组a(后)  :  "+str(a))  #输出数组a(后)

结果:

随机数组a(前)  :  [[ 1  0 -1 -1  1  0  0  1  0 -1]]
改变指定数值后:  [[  1 999  -1  -1   1 999 999   1 999  -1]]
随机数组a(后)  :  [[  1 999  -1  -1   1 999 999   1 999  -1]]

例2:查找指定元素的索引 + 赋值

【注】:下面用 c = copy.deepcopy(a) (属于传值、深拷贝),改变 c 不改变原变量 a 的值。

import numpy as np
import copy

a = np.random.randint(-2, 2, (1, 10))
print ("随机数组a(前)  :  "+str(a))  #输出数组a(前)
c = copy.deepcopy(a)
c[(a==0)] = 999              #条件为a==0
print ("改变指定数值后:  "+str(c))  #输出满足条件的个数
print ("随机数组a(后)  :  "+str(a))  #输出数组a(后)

结果:

随机数组a(前)  :  [[ 0 -2 -1 -1 -2  1  0 -1 -2 -1]]
改变指定数值后:  [[999  -2  -1  -1  -2   1 999  -1  -2  -1]]
随机数组a(后)  :  [[ 0 -2 -1 -1 -2  1  0 -1 -2 -1]]

例3:查找指定元素的索引 + 统计个数

import numpy as np

a = np.random.randint(-2, 2, (1, 10))
c=np.sum(a>=1)              #条件为a>=1
print ("随机数组a  :  "+str(a))  #输出数组a
print ("大于等于1的个数:  "+str(c))  #输出满足条件的个数

结果:

随机数组a  :  [[-1  0  1  1 -2 -2  1  1  0  1]]
大于等于1的个数:  5

 例4:查找指定元素的索引 + 统计个数

import numpy as np

a = np.random.randint(-2, 2, (1, 10))
c=np.sum(a==0)              #条件为a==0
print ("随机数组a  :  "+str(a))  #输出数组a
print ("等于0的个数:  "+str(c))  #输出满足条件的个数

结果:

随机数组a  :  [[ 0  0 -2 -2 -1 -2  0 -1 -2  0]]
等于0的个数:  4
11-23 08:40