【发布时间】:2020-04-07 01:17:30
【问题描述】:
我有一个这样的列表,
sl=[[1,2,100],[2,100,4],[100,4,5],[4,5,6],[5,6,200],[6,200,7],[200,7,8],[7,8,300],[8,300,9]]
现在我想找到那些元素大于平均值的元素并将其存储到一个列表中。
所以,列表看起来像,
[[100],[100],[100],[],[200],[200],[200],[300]]
我可以用for循环来做,代码如下,
indices=[]
for i in sl:
indices.append([j for j in i if (j>(np.mean(i))])
但是执行时间长。我想使用 for 循环并使用某种列表理解来完成相同的任务。
有什么方法可以最有效地缩短执行时间?
【问题讨论】:
-
对于原始列表中的列表
[4,5,6],我认为您应该期望输出中的列表[6]。 -
发布的解决方案是否对您有用?
标签: python list numpy list-comprehension