【发布时间】:2020-11-26 15:39:27
【问题描述】:
此代码将选择列表“a”的 6 个或多个正值
a=np.array([1.01, -1.58, 0.64, 1.38, 0.69, 0.91, 1.34, 1.03, 1.39, 0.94, -1.01,0.16])
b= np.zeros(13)
for i in range(6):
if (a[i] > 0 and a[i+1] > 0 and a[i+2] > 0 and a[i+3] > 0\
and a[i+4] > 0 and a[i+5] > 0 and a[i+6] > 0) :
b[i] = a[i]
b[i+1] = a[i+1]
b[i+2] = a[i+2]
b[i+3] = a[i+3]
b[i+4] = a[i+4]
b[i+5] = a[i+5]
b[i+6] = a[i+6]
我想让它更短,我试过了:
for i in range (6):
if (a[i:i+6]) > 0:
b[i:i+6] = a[i:i+6]
【问题讨论】:
-
@Steve 很抱歉覆盖了编辑,我认为
#标志是 cmets,还有一些拼写错误需要修复 -
你的代码应该做什么
-
它应该从数组 'a' 中取 6 或更多 + valeus,并像第一部分一样将其存储在 'b' 中
-
@YoussefGC - 编辑没问题
-
我不明白为什么这个问题这么快就结束了。我对 OP 有一些问题,但我了解他们基本上想要做什么。我认为 SO 社区通常对问题的结束感到非常高兴。