gpt4 book ai didi

python - 在给定条件的情况下访问 Python 中另一个列表的列表

转载 作者:行者123 更新时间:2023-11-28 17:37:44 24 4
gpt4 key购买 nike

我想在给定另一个列表条件的情况下访问 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

最佳答案

您可以 zip()项目在一起:

try:
# iterator zip from Python 3
from future_builtins import zip
except ImportError:
# this *is* Python 3
pass

z = [xval for xval, yval in zip(x, y) if yval == 0]

即使在使用 Python 2 时,这也避免了为 zip() 构建列表。

关于python - 在给定条件的情况下访问 Python 中另一个列表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28707521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com