python 练习题-列表排序

题目:

1 '''
2 列表a和列表为正向有序列表,要求,生成一个新的列表,使a和b中值有序排序
3 '''
4 a = [3,5,7,11,19,66]
5 b = [0,2,7,9,10,20,30]

 

1.可直接使用 sort方法排序

1 '''
2 列表a和列表为正向有序列表,要求,生成一个新的列表,使a和b中值有序排序
3 '''
4 a = [3,5,7,11,19,66]
5 b = [0,2,7,9,10,20,30]
6 
7 s = a+b
8 print(s.sort())

 

2.一个一个比

 

3.因为a和b的值都是有序排序的,可将a和b的第一个值相比,小的拿出来,并删除,然后再去比;如果其中一个列表没有值了,可以直接放到新的列表中

 1 # @Author  :whyCai
 2 # @Time    :2021/1/24 11:14
 3 
 4 
 5 '''
 6 列表a和列表为正向有序列表,要求,a和b有序排序
 7 '''
 8 a = [3,5,7,11,19,66]
 9 b = [0,2,7,9,10,20,30]
10 
11 c = []
12 while True:
13     i = len(a)
14     j = len(b)
15     if i > 0 and j > 0:
16         if a[0] <= b[0]:
17             c.append(a[0])
18             a.pop(0)
19         else:
20             c.append(b[0])
21             b.pop(0)
22     elif i == 0 and j != 0:
23         c = c + b
24         b = []
25     elif i != 0 and j == 0:
26         c = c + a
27         a = []
28     else:
29         break
30 
31 print(c)

 

posted @ 2021-01-24 11:18  菜小鱼~  阅读(581)  评论(0编辑  收藏  举报