修改多项式方程中代入的 python 列表/数组的值

Modify the values of a python list / array substituted in a polynomial equation

我需要帮助使用这组初始正数作为方程根来创建语句。我必须将它们代入我的多项式方程以确定该特定数字是否为根。这是我到目前为止的想法:

k = [4.0, 2.0, 1.0054, 0.9946] # Set of roots (sign-less)
pol = x**4 + 6*x**3 + 7*x**2 - 6*x - 8 # Polynomial equation
(pol(k)) <= abs(1)

输出:

array([False, False,  True,  True])

基本上,我想要的是按原样打印那些 True 并反转那些 False 的符号,因为后者给出了非常大的值,因此可能不是我的等式的根。期望的输出应该是这样的:

[-4.0, -2.0, 1.0054, 0.9946]

我有点卡在第三行了,因为我想不出下一步应该如何执行。任何帮助,将不胜感激。我是 python 编码的新手。谢谢!

代码:

k = [4.0, 2.0, 1.0054, 0.9946]

array = ([False, False,  True,  True])

if len(k)==len(array):
    for i in range(len(k)):
        if array[i] == False:
            k[i]-=(2*k[i])

print(k)

**输出:**

[-4.0, -2.0, 1.0054, 0.9946]

看看,此代码会将您的 k 列表更新为所需的形式。