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

python排序方法实例分析

本文实例讲述了python排序方法。分享给大家供大家参考。具体如下:>>> def my_key1(x): ... return x % 10 ... >>> alist = [4, 5, 8, 1, 63, 8] >>> alist [4, 5, 8, 1, 63, 8] >>> alist.sort() # 默认升序排序 >>> alist [1, 4, 5, 8, 8, 63] >>> alist.sort(reverse = True) # 改为降序排序 >>> alist [63, 8, 8, 5, 4, 1] >>> alist.sort(key = my_key1) # 设置排序的key值 >>> alist [1, 63, 4, 5, 8, 8] >>> >>> def my_k...

python实现bucket排序算法实例分析

本文实例讲述了python实现bucket排序算法。分享给大家供大家参考。具体实现方法如下:def bucketSort(a, n, buckets, m):for j in range(m):buckets[j] = 0for i in range(n):buckets[a[i]] += 1i = 0for j in range(m):for k in range(buckets[j]):a[i] = ji += 1希望本文所述对大家的Python程序设计有所帮助。

Python对列表排序的方法实例分析

本文实例讲述了Python对列表排序的方法。分享给大家供大家参考。具体分析如下: 1、sort()函数 sort()函数使用固定的排序算法对列表排序。sort()函数对列表排序时改变了原来的列表,从而让其中的元素能按一定的顺序排列,而不是简单的返回一个已排序的列表副本。 注意sort()函数改变原来的列表,函数返回值是空值即None。因此,如果需要一个已排好序的列表副本,同时又要保留原有列表不变的时候,就不能直接简单的使用sort()函数。...

python字典排序实例详解

本文实例分析了python字典排序的方法。分享给大家供大家参考。具体如下: 1、 准备知识: 在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对: 如:dict = {username:password,database:master},其中username和database是key,而password和master是value,可以通过d[key]获得对应值value的引用,但是不能通过value得到key。 对于dictionnary,需知道以下几点注意事项: a、 dictionary ...

在Python中使用sort()方法进行排序的简单教程

sort()方法排序列表中的对象,比较使用func(如果给定)。 语法 以下是sort()方法的语法:list.sort([func])参数func -- 这是一个可选参数,如果有将使用该函数,对列表中的对象进行排序返回值 此方法不返回任何值,但是从列表中给定的对象进行排序 例子 下面的例子显示了sort()方法的使用#!/usr/bin/pythonaList = [123, xyz, zara, abc, xyz];aList.sort(); print "List : ", aList;当我们运行上面的程序,它会产生以下结果:List ...

python读取TXT到数组及列表去重后按原来顺序排序的方法

本文实例讲述了python读取TXT到数组及列表去重后按原来顺序排序的方法。分享给大家供大家参考。具体如下:#################################################################### # python 读取TXT到数组 列表去重,不打乱原来的顺序 # 刚学写的不好请大家见谅 #################################################################### def open_txt(): #打开TXT文本写入数组try:infile = file(admin.txt, r)xxx = file(admin.txt...

python实现的希尔排序算法实例

本文实例讲述了python实现希尔排序算法的方法。分享给大家供大家参考。具体如下:def shellSort(items):inc = len(items) / 2while inc:for i in xrange(len(items)):j = itemp = items[i]while j >= inc and items[j-inc] > temp:items[j] = items[j - inc]j -= incitems[j] = tempinc = inc/2 if inc/2 else (0 if inc==1 else 1) a = [35, -8, 11, 1, 68, 0, 3]; shellSort(a) print a # [-8, 0, 1, 3, 11, 35, 68]希望本文所述...

python冒泡排序简单实现方法

本文实例讲述了python冒泡排序简单实现方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/python import random def bubble_sort(data):length = len(data)for i in range(len(data) - 1):for j in range(len(data) - 1):if (data[j] < data[j + 1]):tmp = data[j]data[j] = data[j + 1]data[j + 1] = tmp r = random.Random() data = [] for n in range(0, 20):data.append(r.randint(1, 300)) print data, len(data) bu...

Python实现大文件排序的方法

本文实例讲述了Python实现大文件排序的方法。分享给大家供大家参考。具体实现方法如下:import gzip import os from multiprocessing import Process, Queue, Pipe, current_process, freeze_support from datetime import datetime def sort_worker(input,output):while True:lines = input.get().splitlines()element_set = {}for line in lines:if line.strip() == STOP:returntry:element = line.split( )[0]if not element_se...

Python中对元组和列表按条件进行排序的方法示例

在python中对一个元组排序 我的同事Axel Hecht 给我展示了一些我所不知道的关于python排序的东西。 在python里你可以对一个元组进行排序。例子是最好的说明:>>> items = [(1, B), (1, A), (2, A), (0, B), (0, a)] >>> sorted(items) [(0, B), (0, a), (1, A), (1, B), (2, A)] 默认情况下内置的sort和sorted函数接收的参数是元组时,他将会先按元组的第一个元素进行排序再按第二个元素进行排序。 然而,注意到结果中(0, B)在(0, ...

Python实现各种排序算法的代码示例总结

在Python实践中,我们往往遇到排序问题,比如在对搜索结果打分的排序(没有排序就没有Google等搜索引擎的存在),当然,这样的例子数不胜数。《数据结构》也会花大量篇幅讲解排序。之前一段时间,由于需要,我复习了一下排序算法,并用Python实现了各种排序算法,放在这里作为参考。 最简单的排序有三种:插入排序,选择排序和冒泡排序。这三种排序比较简单,它们的平均时间复杂度均为O(n^2),在这里对原理就不加赘述了。贴出来源代...

八大排序算法的Python实现

Python实现八大排序算法,具体内容如下 1、插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排...

Python实现字典依据value排序

具体内容如下:使用sorted将字典按照其value大小排序>>> record = {a:89, b:86, c:99, d:100} >>> sorted(record.items(), key=lambda x:x[1]) [(b, 86), (a, 89), (c, 99), (d, 100)]sorted第一个参数要可迭代,可以为tuple, list>>> items = [(1, B), (1, A), (2, A), (0, B), (0, a)] >>> sorted(items) [(0, B), (0, a), (1, A), (1, B), (2, A)]为什么(0, B)在(0, a)前面? 因为ASCII码中大写字母排在在小写字母前面,使用str.l...

Python实现快速排序和插入排序算法及自定义排序的示例

一、快速排序快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序,递归实现def quick_sort(num_list):"""快速排序"""if num_list == []:return num_listsmallLi...

用Python写冒泡排序代码

python代码实现冒泡排序代码其实很简单,具体代码如下所示:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 def bubbleSort(numbers): for j in xrange(len(numbers),-1,-1): for i in xrange(0,j-1,1): if numbers[i] > numbers[i+1]: numbers[i],numbers[i+1] = numbers[i+1],numbers[i] print numbers def main(): numbers = [23,12,9,15,6] bubbleSort(numbers) ...