Python先合并再排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python先合并再排序相关的知识,希望对你有一定的参考价值。

前几天遇到的美团笔试题

题目:大概要求输入两组数字,对这两组数值排序然后输出结果

思路:输入两组数,合并两组数,排序

 1 list1 = raw_input("input some numbers ex 2 7 1 :")
 2 list2 = raw_input("input some numbers ex 2 7 1 :")
 3 
 4 #将字符串转换成列表
 5 
 6 list11 = list1.split(" ")
 7 list22 = list2.split(" ")
 8 
 9 #合并列表,将list22追加到list11尾部
10 #也可以使用切片来实现追加
11 
12 list11.extend(list22)
13 
14 #对list11排序
15 #关于列表排序  list.sort()与sorted函数最大区别在于,sorted返回的是一个对象,并没有改变原列表
16 print sorted(list11)

 

最终返回的结果可能存在重复的元素,所以去重方法

1.set集合,因为集合中没有重复元素

1 >>> list = [1,2,3,1,2,3]
2 >>> 
3 >>> set(list)
4 set([1, 2, 3])

#注意:使用set不会保留原有的顺序

2.遍历列表,将所有元素追加到新列表,如果该元素已在新列表存在就不追加

1 list = [1,2,1,3,2,]
2 list_new = []
3 
4 for i in list:
5     if i not in list_new:
6         list_new.append(i)
7 print list_new
8   

等等

简单事情简单做

 

以上是关于Python先合并再排序的主要内容,如果未能解决你的问题,请参考以下文章

6.6 归并排序

pandas数据处理,字符串先拆分再合并

Python代码阅读(第19篇):合并多个字典

SPSS数据知识

15-看图理解数据结构与算法系列(合并排序)

Python代码实现归并排序