【python sort、sorted高级排序技巧】教程文章相关的互联网学习教程文章

python冒泡排序算法的实现代码

1.算法描述:(1)共循环 n-1 次(2)每次循环中,如果 前面的数大于后面的数,就交换(3)设置一个标签,如果上次没有交换,就说明这个是已经好了的。 2.python冒泡排序代码代码如下:#!/usr/bin/python# -*- coding: utf-8 -*- def bubble(l): flag = True for i in range(len(l)-1, 0, -1): if flag: flag = False for j in range(i): if l[j] > l[j + 1]: ...

python选择排序算法的实现代码

1.算法:对于一组关键字{K1,K2,…,Kn}, 首先从K1,K2,…,Kn中选择最小值,假如它是 Kz,则将Kz与 K1对换;然后从K2,K3,… ,Kn中选择最小值 Kz,再将Kz与K2对换。如此进行选择和调换n-2趟,第(n-1)趟,从Kn-1、Kn中选择最小值 Kz将Kz与Kn-1对换,最后剩下的就是该序列中的最大值,一个由小到大的有序序列就这样形成。 2.python 选择排序代码:代码如下:def selection_sort(list2): for i in range(0, len (list2)): min...

python插入排序算法的实现代码

1.算法:设有一组关键字{ K 1 , K 2 ,…, K n };排序开始就认为 K 1 是一个有序序列;让 K 2 插入上述表长为 1 的有序序列,使之成为一个表长为 2 的有序序列;然后让 K 3 插入上述表长为 2 的有序序列,使之成为一个表长为 3 的有序序列;依次类推,最后让 K n 插入上述表长为 n-1 的有序序列,得一个表长为 n 的有序序列。 2.python插入排序代码代码如下:def insertion_sort(list2): for i in range(1, len(list2)): ...

python快速排序代码实例

一、 算法描述: 1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。二、python快速排序代码代码如下:#!/usr/bin/python# -*- coding: utf-8 -*- def sub_sort(array,low,high): key = array[low] while low < high: while low < high and array[high] >= key: high -= 1 whil...

python实现排序算法

代码如下:def insertion_sort(n): if len(n) == 1: return n b = insertion_sort(n[1:]) m = len(b) for i in range(m): if n[0] <= b[i]: return b[:i]+[n[0]]+b[i:] return b + [n[0]]l = [1,3,4,2,6,7,9,7,12,11,789,345,456]print insertion_sort(l)d = input(l=)print insertion_sort(d)a = input(y:)

Python学习笔记_数据排序方法

1. 原地排序:采用sort()方法,按照指定的顺序排列数据后用排序后的数据替换原来的数据(原来的顺序丢失),如:代码如下:>>> data1=[4,2,6,432,78,43,22,896,42,677,12]>>> data1.sort()>>> data1 #原来的顺序被替换[2, 4, 6, 12, 22, 42, 43, 78, 432, 677, 896] 2. 复制排序:采用sorted()内置函数,按照指定的顺序排列数据后返回原数据的一个有序副本(原来的顺序保留),如:代码如下:>>> data1=[4,2,6,432,78,43,22,89...

Python中字典(dict)和列表(list)的排序方法实例

一、对列表(list)进行排序 推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序 代码如下:>>> a = [1,9,3,7,2,0,5]>>> a.sort()>>> print a[0, 1, 2, 3, 5, 7, 9]>>> a.sort(reverse=True)>>> print a[9, 7, 5, 3, 2, 1, 0]>>> b = [e,a,be,ad,dab,dbc]>>> b.sort()>>> print b[a, ad, be, dab, dbc, e]对列表的排序是遵循DSU(decorate-sort-undecorate)模式的,序列是安装条目的顺序进行比较的,对刚刚例子中的字符...

Python实现的几个常用排序算法实例

前段时间为准备百度面试恶补的东西,虽然最后还是被刷了,还是把那几天的“战利品”放点上来,算法一直是自己比较薄弱的地方,以后还要更加努力啊。 下面用Python实现了几个常用的排序,如快速排序,选择排序,以及二路并归排序等等。 代码如下:#encoding=utf-8import randomfrom copy import copy def directInsertSort(seq): """ 直接插入排序 """ size = len(seq) for i in range(1,size): tmp, j = seq[i], i while j > 0 an...

python字典多条件排序方法实例

项目编写过程中,总能遇见对字典进行排序什么的,如果要实现多条件排序只需要下面几行代码实现。充分体现了python的好处了。代码如下: teamitems = [{team:France , P:1 , GD:-3 , GS:1 , GA:4},{team:Uruguay , P:7 , GD:4 , GS:4 , GA:0},{team:SouthAfrica , P:4 , GD:-2 , GS:3 , GA:5},{team:Mexico , P:4 , GD:1 , GS:3 , GA:2}] print sorted(teamitems ,key = lambda x:(x[P],x[GD],x[GS],x[GA]),reverse=T...

python对字典进行排序实例

本文实例讲述了python对字典进行排序的方法,是非常实用的技巧。分享给大家供大家参考。 具体实现方法如下:import itertools thekeys = [b,a,c] thevalues = [bbb,aaa,cccc] d = dict(itertools.izip(thekeys,thevalues)) #创建字典 print d def sortedDictValue(adict): keys = adict.keys() keys.sort() return map(adict.get,keys) print sortedDictValue(d) import itertools thekeys = [b,a,c] thevalues = [bbb,aaa,cccc...

pythonsort、sorted高级排序技巧

Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。 1)排序基础 简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(__lt__)来排序。代码如下: >>> sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5]你也可以使用list.sort()方法来排序,此时list本身将被修改。通常此方法不如sorted()方便,但是如果你不需要保留原来的li...

Python冒泡,选择,插入排序使用实例

最近学习了python基础,写一下3大排序练练手:代码如下: Created on 2013-8-23 @author: codegeek //冒泡排序 def bubble_sort(seq):for i in range(len(seq)):for j in range(i,len(seq)):if seq[j] < seq[i]:tmp = seq[j]seq[j] = seq[i]seq[i] = tmp //选择排序 def selection_sort(seq):for i in range(len(seq)):position = ifor j in range(i,len(seq)):if seq[position] > seq[j]:position = jif position != i:tmp = seq...

python使用sorted函数对列表进行排序的方法

本文实例讲述了python使用sorted函数对列表进行排序的方法。分享给大家供大家参考。具体如下: python提供了sorted函数用于对列表进行排序,并且可以按照正序或者倒序进行排列#创建一个数字组成的列表 numbers = [5, 1, 4, 3, 2, 6, 7, 9]#输出排序后的数字数组 print sorted(numbers)#输出原始数组,并未被改变 print numbersmy_string = [aa, BB, zz, CC, dd, "EE"]#按字符顺序对字符串列表进行排序,默认为按字符顺序排序 print...

Python选择排序、冒泡排序、合并排序代码实例

前两天刚装了python 3.1.1, 禁不住技痒写点code。 1.选择排序代码如下: >>> def SelSort(L):length=len(L)for i in range(length-1):minIdx=iminVal=L[i]j=i+1while j<length:if minVal>L[j]:minIdx=jminVal=L[j]j=j+1L[i],L[minIdx]=L[minIdx],L[i]return L2.冒泡排序代码如下: >>> def bubSort(L):swapped=Truewhile swapped:swapped=Falsefor i in range(len(L)-1):if L[i]>L[i+1]:L[i],L[i+1]=L[i+1],L[i]swapped=Truereturn L...

Python中利用sorted()函数排序的简单教程

排序算法 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。通常规定,对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序...