在python中查找函数的所有根

在python中查找函数的所有根,python,numpy,Python,Numpy,给定x=np.linspace(-3,3100)和函数y=(x+2)*(x-1)*(x-2),我希望在y==0时得到x的所有值 我尝试使用x[y==0],但它只返回以下内容:数组([1.]),而我希望得到[-2,1,2]尝试以下操作: from sympy import * x=Symbol('x') ans=solve((x+2)*(x-1)*(x-2),x) print(ans) #output-> [-2,1,2] 什么是xx=np.arange(-50,50)和y=

给定
x=np.linspace(-3,3100)
和函数
y=(x+2)*(x-1)*(x-2)
,我希望在
y==0
时得到
x
的所有值

我尝试使用
x[y==0]
,但它只返回以下内容:
数组([1.])
,而我希望得到
[-2,1,2]

尝试以下操作:

 from sympy import *
 x=Symbol('x')
 ans=solve((x+2)*(x-1)*(x-2),x)
 print(ans)  #output-> [-2,1,2]  

什么是
x
x=np.arange(-50,50)
y=(x+2)*(x-1)*(x-2)
会给你你想要的。对不起@BradSolomon,我完全忘了在我的问题上陈述
x
。希望现在更清楚。您的问题是
-2
2
在x中没有表示,最接近的是
2.03030303
-2.03030303
可能的副本: