相关文章推荐
聪明伶俐的铁板烧  ·  Spring Boot ...·  1 月前    · 
酷酷的小蝌蚪  ·  基于Matlab App ...·  1 年前    · 
善良的李子  ·  VBA 链接 SQL Server ...·  2 年前    · 
知识渊博的帽子  ·  Unknown exceptions ...·  2 年前    · 

有道面试题: L = [2,3,5,4,9,6,8,7,1],从小到大排序,不许用sort,输出[1,2,3,4,5,6,7,8,9]

如果用sort很简单,如果不用sort的话,处理起来就麻烦些,处理思路大致:

创建一个空列表,遍历原先列表,找出最小值,放到空列表中,原列表弹出该值,直到无值。

有了上面的思路,就好处理了:

>>> L = [2,3,5,4,9,6,8,7,1]
>>> T = []
>>> while len(L) > 0:
...     m = min(L)
...     L.remove(m)
...     T.append(m)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
                    有道面试题: L = [2,3,5,4,9,6,8,7,1],从小到大排序,不许用sort,输出[1,2,3,4,5,6,7,8,9]如果用sort很简单,如果不用sort的话,处理起来就麻烦些,处理思路大致:创建一个空列表,遍历原先列表,找出最小值,放到空列表中,原列表弹出该值,直到无值。有了上面的思路,就好处理了:>>> L = [2,3,5,4,9,6,8...
				
1 首先,Pythonsortsorted的区别:python列表的内置函数sort()可以对列表中的元素进行排序sort()函数是内置函数,会改变当前对象;而全局性的sorted()函数则对所有可迭代的序列都是适用的,sorted()函数只会返回一个排序后的当前对象的副本,而不会改变当前对象。2 sort()排序2.1对列表进行简单排序 1 升序排列 a = [2,9,5,6,7,8]
这题偶然看到的,典型啊,值得马克一记!list=[2,3,5,4,9,6,8,7,1],从小到大排序,不许用sort,输出[1,2,3,4,5,6,,7,8,9]结题思路:    利用min()方法求出最小值,原列表删除最小值,新列表加入最小值,递归调用获取最小值的函数,反复操作list=[2,3,5,4,9,6,8,7,1] ll=[] if len(list)>0: m=min(...
冒泡排序(交换排序)原理: 从第一个元素开始,比较相邻元素的大小,若大小顺序有误,则对调后进行下一个元素的比较。如此扫描过一次之后就可确保最后一个元素位于正确的顺序。接着再逐步进行第二次扫描,直到完成所有元素的排序关系为止。 如,3个数,需要比较2轮。第一轮比较2次,第二轮比较1次。(可以自己画图理解一下。因为每轮比较之后都可以确认最后一个位置,所以比较次数-1) 实现代码如下: # ......
1、调用sort()方法,默认从小到大排序,也可以指定reverse=True,进行从大到小排序,是在列表之上进行排序,无需额外的空间 lst=[10,20,30,10,200,300,400] lst.sort() print(lst) [10, 10, 20, 30, 200, 300, 400] lst.sort(reverse=True) print(lst) [400, 300, 200, 30, 20, 10, 10] 2、调用内置函数sorted(),和使用sort差不多,但原列表不变
name_list=['abc','bcd','aab','abac'] name_list.sort(key=lambda x:[-ord(i) for i in x]) print(name_list) [‘bcd’, ‘abc’, ‘abac’, ‘aab’] 我们知道如果列表里是数值比较好处理,直接取负就可以了,但是字符串不支持取负,所以这里的方法是将字符串转ASCII码再取负。 这可以用于多重排序,例如多个维度排序要求不一致,有的要升序,有的要降序的情况。