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

yipeiwu_com6年前Python基础

本文实例讲述了Python对列表排序的方法。分享给大家供大家参考。具体分析如下:

1、sort()函数

sort()函数使用固定的排序算法对列表排序。sort()函数对列表排序时改变了原来的列表,从而让其中的元素能按一定的顺序排列,而不是简单的返回一个已排序的列表副本。

注意sort()函数改变原来的列表,函数返回值是空值即None。因此,如果需要一个已排好序的列表副本,同时又要保留原有列表不变的时候,就不能直接简单的使用sort()函数。为了实现上述功能使用sort()的方法是:先获取列表X的副本Y,然后再对Y进行排序。代码如下:

x=[4,6,2,1,7,9,4]
y=x[:]
y.sort()
print x
print y

结果如下:

[4, 6, 2, 1, 7, 9, 4]
[1, 2, 4, 4, 6, 7, 9]

说明:调用x[:]得到的是包含了x所有元素的分片,这是一种很有效率的复制整个列表的方法。通过y=x简单的将x复制给y是没有用的,因为这样做就让x和y都指向了同一个列表了。

2、sorted()函数

另外一种获取已排序的列表副本的方法是使用sorted()函数。注意,sorted()函数可以用于任何可迭代的对象。

x=[4,6,2,1,7,9,4]
y=sorted(x)
print x
print y

结果:

[4, 6, 2, 1, 7, 9, 4]
[1, 2, 4, 4, 6, 7, 9]

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python使用mailbox打印电子邮件的方法

本文实例讲述了python使用mailbox打印电子邮件的方法。分享给大家供大家参考。具体如下: 该范例在linux下使用 import mailbox mailboxname =...

python 猴子补丁(monkey patch)

写了一段时间java切回写python偶尔会出现一些小麻烦,比如:在java中自定义对象变成json串很简单,调用一个方法就行,但同样的转换在python中却不太容易实现。在寻找pyth...

Pyqt5如何让QMessageBox按钮显示中文示例代码

Pyqt5如何让QMessageBox按钮显示中文示例代码

前言 QMessageBox是一种通用的弹出框对话框;包含:提示、警告、错误、咨询、关于等对话框;只是显示图标不同,其他功能类似; QMessageBox类常用方法如下: 按钮类型:...

tensorflow学习笔记之mnist的卷积神经网络实例

mnist的卷积神经网络例子和上一篇博文中的神经网络例子大部分是相同的。但是CNN层数要多一些,网络模型需要自己来构建。 程序比较复杂,我就分成几个部分来叙述。 首先,下载并加载数据:...

对Python 简单串口收发GUI界面的实例详解

忙活了三个多小时,连学带做,总算是搞出来了一个具有基本功能的串口通信PC机的GUI界面,Tkinter在python中确实很好用,而且代码量确实也很少,不足的是Tkinter不自带com...