Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Append_Factors - Fatal编程技术网

在python中对列表的每个元素进行因子分析,然后将因子附加到另一个数组的子数组中

在python中对列表的每个元素进行因子分析,然后将因子附加到另一个数组的子数组中,python,arrays,append,factors,Python,Arrays,Append,Factors,我在这里的目标是对列表中的每个元素进行因子分析,将所有因子添加到子列表pqnum和pqnum3中,然后将子列表pqnum2分别添加到第一因子和第二因子的主列表pqnum4中。此外,firsted和Seconded可以由未显示的用户追加。代码如下: #Define appendable lists pqnum = [] pqnum2 = [] pqnum3 = [] pqnum4 = [] #While loop counters fib = 1 sib = 1 #lists to be fa

我在这里的目标是对列表中的每个元素进行因子分析,将所有因子添加到子列表pqnum和pqnum3中,然后将子列表pqnum2分别添加到第一因子和第二因子的主列表pqnum4中。此外,firsted和Seconded可以由未显示的用户追加。代码如下:

#Define appendable lists
pqnum = []
pqnum2 = []
pqnum3 = []
pqnum4 = []

#While loop counters
fib = 1
sib = 1

#lists to be factored (may be appended by user)
firsted = [24, -1, 1, 0, -800, 2, 6]
secondeded = [2, -1, 1, 1, 30, 11, 5]

#factor firsted
for index in range(0,len(firsted)-1):
    x = firsted[index]
    while fib<=x:
        if x%fib == 0:
            pqnum.append(fib)
            pqnum.append(-fib)
        fib = fib + 1
    pqnum2.append(pqnum)
print pqnum2

#factor seconded
for index in range(0,len(secondeded)-1):
    while sib<=secondeded[index]:
        if secondeded[index]%sib == 0:
            pqnum3.append(sib)
            pqnum3.append(-sib)
        sib = sib + 1
    pqnum4.append(pqnum3)
print pqnum4
但代码的输出是:

[[1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24]]

[[1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30]]

我已经想了好几天了。我似乎不知道为什么。请提供帮助。

您没有重置任何变量

在你撒完谎之后
[[1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24], [1, -1, 2, -2, 3, -3, 4, -4, 6, -6, 8, -8, 12, -12, 24, -24]]

[[1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30], [1, -1, 2, -2, 3, -3, 5, -5, 6, -6, 10, -10, 15, -15, 30, -30]]
#factor firsted
for index in range(0,len(firsted)-1):
    x = abs(firsted[index])
    fib = 1
    pqnum = []
    while fib<=x:
        if x%fib == 0:
            pqnum.append(fib)
            pqnum.append(-fib)
        fib = fib + 1
    pqnum2.append(pqnum)
print pqnum2