使用python合并错误
我是python新手。我曾尝试在Python中进行合并,但错误列表分配索引超出了范围。有人能帮我吗使用python合并错误,python,python-2.7,merge,Python,Python 2.7,Merge,我是python新手。我曾尝试在Python中进行合并,但错误列表分配索引超出了范围。有人能帮我吗 A = [4,5,7,9,0,1,2,3] def merge(A,p,q,r): i = p j = q+1 k = 0 C = [] while i<=q and j<=r: if A[i]<A[j]: C[k] = A[i] i = i + 1 else
A = [4,5,7,9,0,1,2,3]
def merge(A,p,q,r):
i = p
j = q+1
k = 0
C = []
while i<=q and j<=r:
if A[i]<A[j]:
C[k] = A[i]
i = i + 1
else:
C[k] = A[j]
j = j + 1
k = k + 1
if i!=q:
for z in range(i,q+1):
C[k] = A[z]
k = k + 1
if j!=r:
for z in range(j,r+1):
C[k] = A[z]
k = k + 1
merge(A,0,3,7)
A=[4,5,7,9,0,1,2,3]
def合并(A、p、q、r):
i=p
j=q+1
k=0
C=[]
正如@chisaycock所说,问题是C没有索引k,因此在检查之前,必须验证C的lenct是否等于或大于k
if len(C) > k:
... C[k]...
您已将C
定义为零长度数组,因此对它的任何访问都将超出范围。