Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.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_Numpy_Loops_Jupyter Notebook_Slice - Fatal编程技术网

Python 我可以从这些单独的列表中迭代地切分我需要的位置,并将它们放入另一个列表中吗';系数';如下图所示?

Python 我可以从这些单独的列表中迭代地切分我需要的位置,并将它们放入另一个列表中吗';系数';如下图所示?,python,numpy,loops,jupyter-notebook,slice,Python,Numpy,Loops,Jupyter Notebook,Slice,我想做的是迭代每个p列表的位置,并将其放入系数中:系数=[1,2,5,8]暂停(在某种意义上)并使用np.roots()运行这组系数的计算。迭代到每个p的下一个位置后,为下一次迭代生成:系数=[1,3,6,9],然后继续进行更多的迭代 p1 = [2, 3, 4] p2 = [5, 6, 7] p3 = [8, 9, 10] coefficients = [1, p1[], p2[], p3[]] # coefficients = [1, p1[0], p2[0], p3[0]] ->

我想做的是迭代每个
p
列表的位置,并将其放入
系数中:
系数=[1,2,5,8]
暂停(在某种意义上)并使用
np.roots()运行这组系数的计算。迭代到每个
p
的下一个位置后,为下一次迭代生成:
系数=[1,3,6,9]
,然后继续进行更多的迭代

p1 = [2, 3, 4]
p2 = [5, 6, 7]
p3 = [8, 9, 10]

coefficients = [1, p1[], p2[], p3[]]  # coefficients = [1, p1[0], p2[0], p3[0]] -> next comment
                                      # coefficients = [1,  2   ,     5,     8]
    
roots = np.roots(coefficients)
我想要的是:

p1 = [2, 3, 4]
p2 = [5, 6, 7]
p3 = [8, 9, 10]


#After parsing through the data for the 1st iteration:
coefficients = [1,2,5,8]

#Calculate it with np.roots()
roots = np.roots(coefficients)
然后是下一次迭代:

#After parsing through the data for the 2nd iteration:
coefficients = [1,3,6,9] # coefficients = [1, p1[1], p2[1], p3[1]] -> next comment
                         # coefficients = [1,  3   ,     6,     9]

#Calculate it with np.roots()
roots = np.roots(coefficients)

因此,我将您的问题转换为矩阵,并将返回的结果显示为矩阵。您可以使用此方法并将其扩展到所需的任意行和列。我使用的是矩阵运算
coefs
是一个矩阵,其中包含一系列您想要的系数,
roots
包含这些系数的根

将numpy导入为np
#设n为行数,m为列数
n=3#或列表数量
m=3
#将数据保存为矩阵
p=[[2,3,4],
[5, 6, 7],
[8, 9, 10]]
coefs=[]
根=[]
对于范围内的i(m):
coef=[1,]
对于范围(n)内的j:
附加系数(p[j][i])
#添加到系数矩阵和根矩阵
追加(coef)
根.附加(np.根(coef))
#显示结果
打印(“系数列表1”,系数[0])
打印(“系数列表2”,系数[1])
打印(“系数列表3”,系数[2])
打印(“根列表1”,根[0])
打印(“根列表2”,根[1])
打印(“根列表3”,根[2])
这就是输出的样子。

您可以像这样连接数据:

coefficients = np.array([[1, 1, 1], p1, p2, p3]).T
不幸的是,
np.roots
只接受一个多项式,因此必须将它们插入循环中

roots = [np.roots(p) for p in coefficients]

我想通过一个循环(比如for循环)来实现自动化。如果您将列表转换为矩阵,您的任务将变得更容易。那是可能的吗?是的,这是可能的。然而,我是否仍然能够检索到我想要的位置,并且只使用上面所示的3个系数?