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

yipeiwu_com5年前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程序设计有所帮助。

相关文章

pycharm访问mysql数据库的方法步骤

pycharm访问mysql数据库的方法步骤

不需要像eclipse那样添加驱动包,在pycharm里面下载一个pymysql包即可。 然后链接自己电脑的mysql并进行访问即可。 源码如下 import pymysql...

Python2.x中文乱码问题解决方法

Python2.x中文乱码问题解决方法

Python中乱码问题是一个很头痛的问题。 在Python3中,对中文进行了全面的支持,但在Python2.x中需要进行相关的设置才能使用中文。否则会出现乱码 【问题原因】 在Pyth...

python排序函数sort()与sorted()的区别

python 中sorted与sort有什么区别 sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, k...

跟老齐学Python之编写类之三子类

关于类,看官想必已经有了感觉,看下面的代码,请仔细阅读,并看看是否能够发现点什么问题呢? 复制代码 代码如下: #!/usr/bin/env python #coding:utf-8 c...

numpy排序与集合运算用法示例

numpy排序与集合运算用法示例

这里有numpy数组的相关介绍/post/130657.htm 排序 numpy与python列表内置的方法类似,也可通过sort方法进行排序。 用法如下: In [1]: imp...