首页 > 代码库 > Python先合并再排序

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_new8   

等等

简单事情简单做

 

Python先合并再排序