gpt4 book ai didi

python - 当第二个数组 > 0 时创建新数组

转载 作者:太空宇宙 更新时间:2023-11-04 08:54:35 25 4
gpt4 key购买 nike

我正在运行 Python 2.7。

我有一个名为“altitude”的数组,包含以下几点

[0,1,2,3,4,5,6,7,8,9]

我还有一个名为“arming_pin”的数组

[0,0,0,0,0,0,1,1,1,1]

在我的程序中,当 arming_pin 大于零时,我想使用“altitude”数组数据点,并在 “arming_pin” = 为 0 时忽略之前的点。我想调用这个新数组 "altitude_new"。 “altitude_new”数组看起来像:

[6,7,8,9]

如何在 python 中创建这个新数组?使用某种条件语句?

最佳答案

您可以使用 zip在列表推导中过滤数组的函数:

>>> f=[0,1,2,3,4,5,6,7,8,9]
>>> sec=[0,0,0,0,0,0,1,1,1,1]
>>>
>>> [i for i,j in zip(f,sec) if j]
[6, 7, 8, 9]

您还可以使用 itertools.compress 当您处理更大的列表时,它会更有效:

>>> from itertools import compress
>>> list(compress(f,sec))
[6, 7, 8, 9]

或者使用numpy.compress:

>>> import numpy as np
>>> np.compress(sec,f)
array([6, 7, 8, 9])

关于python - 当第二个数组 > 0 时创建新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31388247/

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