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