【发布时间】:2019-09-20 06:31:56
【问题描述】:
我正在尝试编写一个函数来检查矩阵中的元素并以布尔值返回另一个结果矩阵。
输入:
X: 二维年龄数组列表,如上所述。
输出:
该函数应返回一个二维数组,其中的条目为 0 或 1,如上所述。
该函数的运行速度必须比这个快 15 倍:
def check_elems(X):
out = [[0]*len(X[0]) for _ in range(len(X))]
for i in range(len(X)):
for j in range(len(X[i])):
check = X[i][j]
if check>=14 and check%5==4 and check!=19:
out[i][j] = 1
return out
这是一个具体的例子:
- 此人至少 14 岁
- 人的年龄以 4 或 9 结尾
- 而且这个人不是 19 岁
例如一个年龄数组
[[22, 13, 31, 13],
[17, 14, 24, 22]]
会有输出数组:
[[0, 0, 0, 0],
[0, 1, 1, 0]]
【问题讨论】:
-
你试过 numpy 了吗?
-
你在这里问什么问题?
-
这是什么蟒蛇?
标签: python list algorithm performance sorting