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