Python 2.7 - 无法从我的for循环获取完整列表/数组

问题描述:

我正在研究一个可以卷积两个列表的程序,我需要从头开始。我有for循环的正确输出,但是我不能返回它,因为追加的输出只会保存for循环的最后一次迭代。我已经尝试枚举,追加,扩展和其他几个,我只是不知道python足以从我的for循环获取列表或理想的int数组。 进口numpy的作为NPPython 2.7 - 无法从我的for循环获取完整列表/数组

#def conv395(x,h): 
    #Function to convolve x input signal and h impulse response 

h = [1,2,-1,1] 
x = [1,1,2,1,2,2,1,1]  
M = len(h)-1 
L = len(x) 
Ly = M+L 


def ConV(x,h,n): 
    y = (h[m]*x[(n-1)-m]) 
    return (y) 

for n in range(0,Ly+1): 

    mx = n-L+1 

    if mx < 1: 
     n = n+1 
     #print("SPACE") 
     Y1 = 0 

     if n <= M+1: 

      Y = [] 
      for m in range(n): 
       #print(n) 

       y = ConV(x,h,n) 
       Y1 = y + Y1 

      Y.append(Y1) 
      print Y, 

OUTPUT

[1] [3] [3] [5] 

无论其

Y type=list size=1 Value=[5] 

我需要的值以在列表或阵列的输出相匹配。 任何帮助将不胜感激,谢谢!

这样的事情可能吗?

h = [1,2,-1,1] 
x = [1,1,2,1,2,2,1,1]  
M = len(h)-1 
L = len(x) 
Ly = M+L 
LOL = [] 

def ConV(x,h,n): 
    y = (h[m]*x[(n-1)-m]) 
    return (y) 

for n in range(0,Ly+1): 

    mx = n-L+1 

    if mx < 1: 
     n = n+1 
     #print("SPACE") 
     Y1 = 0 

     if n <= M+1: 

      Y = [] 
      for m in range(n): 
       #print(n) 

       y = ConV(x,h,n) 
       Y1 = y + Y1 

      Y.append(Y1) 
      LOL.append(Y) 
      print Y, 

print LOL 
+0

#facepalm ---是的,这工作... smh ***非常感谢你,我尝试了几乎所有的变化,我可以得到这个输出大声笑!这是小事! –