Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从python列表中提取满足特定条件的所有元素?_Python_List_Numpy - Fatal编程技术网

如何从python列表中提取满足特定条件的所有元素?

如何从python列表中提取满足特定条件的所有元素?,python,list,numpy,Python,List,Numpy,我有一长串大浮点数: lis = [0.10593584063824,... ,9.5068763787043226e-34, 9.8763787043226e-34, 8.3617950149494853e-34] 如何在新数组中选择满足特定条件的所有数字?例如,我如何将a_constant>.95的所有数字提取到一个新列表中您可以使用列表理解: lis = [0.10593584063824,... ,9.5068763787043226e-34, 9.8763787043226e-34,

我有一长串大浮点数:

lis = [0.10593584063824,... ,9.5068763787043226e-34, 9.8763787043226e-34, 8.3617950149494853e-34]

如何在新数组中选择满足特定条件的所有数字?例如,我如何将
a_constant>.95

的所有数字提取到一个新列表中您可以使用列表理解:

lis = [0.10593584063824,... ,9.5068763787043226e-34, 9.8763787043226e-34, 8.3617950149494853e-34]
out = [x for x in lis if 0.65 > x > 0.95]

您可以使用列表:

lis = [0.10593584063824,... ,9.5068763787043226e-34, 9.8763787043226e-34, 8.3617950149494853e-34]
out = [x for x in lis if 0.65 > x > 0.95]
使用:

使用:


我会使用numpy——如果您在数据科学工作中使用它,首先,将列表转换为numpy数组,然后应用条件并将numpy数组转换回列表

import numpy as np

lis = [0.10593584063824e-34,2.5068763787043226e-34,9.5068763787043226e-34, 9.8763787043226e-34, 8.3617950149494853e-34]

#Convert the list into a numpy array
np_array = np.array([[lis]])

#filter the np array and convert back to a list
new_lis = (np_array[np_array > 3.7e-34]).tolist()

[9.506876378704323e-34, 9.8763787043226e-34, 8.361795014949486e-34]

我会使用numpy——如果您在数据科学工作中使用它,首先,将列表转换为numpy数组,然后应用条件并将numpy数组转换回列表

import numpy as np

lis = [0.10593584063824e-34,2.5068763787043226e-34,9.5068763787043226e-34, 9.8763787043226e-34, 8.3617950149494853e-34]

#Convert the list into a numpy array
np_array = np.array([[lis]])

#filter the np array and convert back to a list
new_lis = (np_array[np_array > 3.7e-34]).tolist()

[9.506876378704323e-34, 9.8763787043226e-34, 8.361795014949486e-34]

是的,但是常数呢?。。。。这和x一样吗?什么常数?是的,但是常数呢?。。。。这和x一样吗?什么常数?用过滤器
a=filter(lambda x:x>0.95,lis)
“…列出
a_常量>0.95的所有数字”你这是什么意思?
a_常量
是常量还是列表中的元素?这太令人困惑了!使用过滤器
a=filter(lambda x:x>0.95,lis)
“…列出
a_常量>0.95的所有数字”你这是什么意思?
a_常量
是常量还是列表中的元素?这太令人困惑了!