【发布时间】:2015-04-26 18:26:05
【问题描述】:
给定另一个列表中的条件,我想访问 list 的元素。通常,我会使用 NumPy 来做到这一点,但我必须遵循的要求表明我必须坚持使用 Python 标准库。我的问题的一个例子如下:
x = [1, 7, 11, 8, 13, 2]
y = [0,3,0,5,2]
#NumPy notation
z = x[y==0]
我通过使用列表理解提出了一个解决方案:
z = [x[i] for i in xrange(len(y)) if y[i] == 0]
但是,与我在 NumPy 中的实现相比,它要慢得多。有没有更好的方法来解决这个问题?
编辑:我没有提到,但我的要求包括使用 python 2
【问题讨论】:
-
你不会使用标准 python 库获得更有效的解决方案。
标签: python list numpy list-comprehension