gpt4 book ai didi

python - 删除列表中指定范围python之外的所有值

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

我有一个包含大量小数值的列表(我们称之为 L1)。如何删除某个指定范围之外的所有值,同时将所有值保持在该范围内?
例如,假设我将范围定义为 [-1, 1] 和

L1 = [-2, 0.1, 0.75, 4] 

我希望我的输出是一个新列表,即

L2 = [0.1, 0.75]

我听说有一种方法可以用 numpy 做到这一点(虽然我一生都找不到 SO 问题),但我想知道是否有另一种方法,只使用内置函数(当然,如果 numpy 更适合这类事情,那也没关系)。

最佳答案

您可以使用 boolean indexing with NumPy 来做到这一点.对于大型列表/数组,这比列表理解或filter 方法要快得多:

>>> import numpy as np
>>> L1 = [-2, 0.1, 0.75, 4]
>>> A1 = np.array(L1) # convert it to an array
>>> A1[(A1 >= -1) & (A1 <= 1)] # remove all values that are not in the range [-1, 1]
array([ 0.1 , 0.75])

关于python - 删除列表中指定范围python之外的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45038418/

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