擅长:python、mysql、java
<p>当i=5时,执行if语句的第一个分支,i递增为6。在下一个循环中,它尝试比较v[6]和f[j]。这将抛出错误。你知道吗</p>
<p>最好使用while循环,因为您不知道所需的迭代次数。由于python中的列表是可变的,因此使用.append()和.extend()函数将值添加到数组的末尾要容易得多,而不是保留另一个计数器。最后,在while循环的末尾,您可以检查哪个列表已用尽,从而导致循环结束,并将其他列表的其余部分添加到末尾。你知道吗</p>
<p>示例代码:</p>
<pre><code>def new(v,f):
i = 0
j = 0
u = []
# Compare values until one of the lists is exhausted
while i < len(v) and j < len(f):
if(v[i]<=f[j]):
u.append(v[i])
i+=1
elif(f[j]<=v[i]):
u.append(f[j])
j+=1
# Check which list was exhausted and add the rest of the other
# list on the end of the new list
if i >= len(v):
u.extend(f[j:])
else:
u.extend(v[i:])
print(u)
</code></pre>