今日demo:
# 一个双有序数组的简单归并
def easy_combine():
a = [1, 3, 5, 7, 9]
b = [2, 4, 6, 8, 10]
c = []
i, j = 0, 0
while not (i == len(a) or j == len(b)):
if a[i] > b[j]:
c.append(b[j])
j += 1
else:
c.append(a[i])
i += 1
if i != len(a):
c = c + a[i:]
if j != len(b):
c = c + b[j:]
print(c)
学习总结:
1.python中的列表类型,如果使用a.append(b[i:j])方法将一个列表加到另一个列表,会将当前的列表片段整体加到其中,变成(a_1,a_2,b[i:j]),要解决这个问题,需要使用a=a+b[i:j]的方法可以解决
2.使用not,is,or等具有语义的词汇在true或者false判断的场景中使用,应为true或false变量是全局唯一的,它的相等性语义和同一性语义是一致的。
欢迎进行review,随时指正,谢谢。
Think before you do,peace~~