我希望能够根据另一个列表中的条件来访问一个列表中的元素。通常,我会使用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。