Python实现对特定列表进行从小到大排序操作示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现对特定列表进行从小到大排序操作。分享给大家供大家参考,具体如下:

1、在系统内新建文件rizhireplacelist.txt

root@kali:~# cd python/
root@kali:~/python# ls
111.txt           listsalaryver2.py  readfile2.py            rizhireplacelist.txt  rizhi.txt            tixingexcel.txt     tixingsort.txt
contact_list.txt  listshop.py        replacefile1.py         rizhireplace.txt      shoplist.txt         tixinglistsort.py   tixing.txt
listbuy.py        manageserach.py    rizhireplaceexcel.txt   rizhisort.py          test.py              tixinglistsort.txt
listsalary.py     readfile1.py       rizhireplacefenhao.txt  rizhitestsort.py      tixingexcelsort.txt  tixinglist.txt
root@kali:~/python#cat rizhireplacelist.txt
['2010530181', '2010530143', '2010411116', '2010156673', '2001180073', '2001180072', '2001180071', '2001180069', '2001180068', '2001180066', '2001180065', '2001180064', '2001180059', '2001180053', '2001180051', '2001180049', '2001180048', '2001180047', '2001180046', '2001180043', '2001180042', '2001180041', '2001180040', '2001180039', '2001180038', '2001180037', '2001180036', '2001180035', '2001180034', '2001180033', '2020539277', '2020539221', '2020535288', '2020260682', '2010620102', '2010570085', '2010570070', '2010500395', '2010470053', '2001610026', '2001610025', '2001180067', '2001180045', '2001180044', '2001180001', '2001020088', '2001000583', '2001000241', '2000830359', '2000632422', '2000016602', '2000015599', '2000011716', '2001180032', '2001180031', '2001180030', '2001180029', '2001180028', '2001180027', '2001180026', '2001180025', '2001180024', '2001180023', '2001180022', '2001180021', '2001180020', '2001180019', '2001180018', '2001180017', '2001180016', '2001180015', '2001180014', '2001180013', '2001180012', '2001180011', '2001180010', '2001180009', '2001180008', '2001180007', '2001180006', '2001180005', '2001180004', '2001180003', '2001180002', '2001180000', '1000019942', '1000018830', '1000018824', '4000230040', '4000219918', '2020571702', '2020260278', '2010540076', '2010540073', '2010540068', '2010505025', '2010505024', '2010500195', '2010500191', '2010500190', '2010500189', '2010500047', '2010500046', '2010419836', '2010310986', '2010310985', '2001240027', '2001180058', '2001180057', '2000831570', '2000771823', '2000771820', '2000771677', '2000771147', '2000771116', '2000771112', '2000631255', '2000021854', '1000019921', '1000018884', '1000018875', '1000018869', '1000018842', '1000017774', '2060210271', '2060210251', '2001180052', '2001180050', '2000632723', '2001180063', '2001180061', '2001180060', '2001180056', '2001180055', '2001180054', '100000000094646', '10000000003629', '10000000002412', '10000000002328', '10000000001057', '100000000094709', '100000000094680', '100000000073254', '10000000003949', '10000000003947', '10000000003556', '10000000003554', '10000000002167', '10000000002066', '10000000001096', '10000000000786', '10000000000782', '10000000000594']

2、编写脚本代码

root@kali:~/python# cat rizhitestsort.py
#!/usr/bin/python
#--*-- coding:utf-8 --*--
import re
befersort = []#
midchang = []
aftersort= []
f1 = file('rizhireplacelist.txt')#打开文件rizhireplacelist.txt
for p in f1.readlines():#逐行读取rizhireplacelist.txt文件
#  print p
  befersort = p#把逐行读取的内容存放到befersort
  print befersort
print '------------------------------------------------------'
count = len(befersort)#计算列表长度
print count
close.f1()
mode = re.compile(r'\d+')#\d是匹配数字字符[0-9],+匹配一个或多个,放在一起是匹配一个或多个数字字符,比如:'1‘、'34‘、'9999‘
midchang = mode.findall(befersort)#对befersort列表进行正则匹配,并存储到midchang
#print midchang
aftersort = [int(x) for x in midchang]#读取被正则匹配成功的每个数字,并存储到aftersort中
aftersort.sort()#对aftersort进行正序排列
print aftersort
root@kali:~/python#

3、实操脚本运行

root@kali:~/python# python rizhitestsort.py
['2010530181', '2010530143', '2010411116', '2010156673', '2001180073', '2001180072', '2001180071', '2001180069', '2001180068', '2001180066', '2001180065', '2001180064', '2001180059', '2001180053', '2001180051', '2001180049', '2001180048', '2001180047', '2001180046', '2001180043', '2001180042', '2001180041', '2001180040', '2001180039', '2001180038', '2001180037', '2001180036', '2001180035', '2001180034', '2001180033', '2020539277', '2020539221', '2020535288', '2020260682', '2010620102', '2010570085', '2010570070', '2010500395', '2010470053', '2001610026', '2001610025', '2001180067', '2001180045', '2001180044', '2001180001', '2001020088', '2001000583', '2001000241', '2000830359', '2000632422', '2000016602', '2000015599', '2000011716', '2001180032', '2001180031', '2001180030', '2001180029', '2001180028', '2001180027', '2001180026', '2001180025', '2001180024', '2001180023', '2001180022', '2001180021', '2001180020', '2001180019', '2001180018', '2001180017', '2001180016', '2001180015', '2001180014', '2001180013', '2001180012', '2001180011', '2001180010', '2001180009', '2001180008', '2001180007', '2001180006', '2001180005', '2001180004', '2001180003', '2001180002', '2001180000', '1000019942', '1000018830', '1000018824', '4000230040', '4000219918', '2020571702', '2020260278', '2010540076', '2010540073', '2010540068', '2010505025', '2010505024', '2010500195', '2010500191', '2010500190', '2010500189', '2010500047', '2010500046', '2010419836', '2010310986', '2010310985', '2001240027', '2001180058', '2001180057', '2000831570', '2000771823', '2000771820', '2000771677', '2000771147', '2000771116', '2000771112', '2000631255', '2000021854', '1000019921', '1000018884', '1000018875', '1000018869', '1000018842', '1000017774', '2060210271', '2060210251', '2001180052', '2001180050', '2000632723', '2001180063', '2001180061', '2001180060', '2001180056', '2001180055', '2001180054', '100000000094646', '10000000003629', '10000000002412', '10000000002328', '10000000001057', '100000000094709', '100000000094680', '100000000073254', '10000000003949', '10000000003947', '10000000003556', '10000000003554', '10000000002167', '10000000002066', '10000000001096', '10000000000786', '10000000000782', '10000000000594']
------------------------------------------------------
2218
[1000017774, 1000018824, 1000018830, 1000018842, 1000018869, 1000018875, 1000018884, 1000019921, 1000019942, 2000011716, 2000015599, 2000016602, 2000021854, 2000631255, 2000632422, 2000632723, 2000771112, 2000771116, 2000771147, 2000771677, 2000771820, 2000771823, 2000830359, 2000831570, 2001000241, 2001000583, 2001020088, 2001180000, 2001180001, 2001180002, 2001180003, 2001180004, 2001180005, 2001180006, 2001180007, 2001180008, 2001180009, 2001180010, 2001180011, 2001180012, 2001180013, 2001180014, 2001180015, 2001180016, 2001180017, 2001180018, 2001180019, 2001180020, 2001180021, 2001180022, 2001180023, 2001180024, 2001180025, 2001180026, 2001180027, 2001180028, 2001180029, 2001180030, 2001180031, 2001180032, 2001180033, 2001180034, 2001180035, 2001180036, 2001180037, 2001180038, 2001180039, 2001180040, 2001180041, 2001180042, 2001180043, 2001180044, 2001180045, 2001180046, 2001180047, 2001180048, 2001180049, 2001180050, 2001180051, 2001180052, 2001180053, 2001180054, 2001180055, 2001180056, 2001180057, 2001180058, 2001180059, 2001180060, 2001180061, 2001180063, 2001180064, 2001180065, 2001180066, 2001180067, 2001180068, 2001180069, 2001180071, 2001180072, 2001180073, 2001240027, 2001610025, 2001610026, 2010156673, 2010310985, 2010310986, 2010411116, 2010419836, 2010470053, 2010500046, 2010500047, 2010500189, 2010500190, 2010500191, 2010500195, 2010500395, 2010505024, 2010505025, 2010530143, 2010530181, 2010540068, 2010540073, 2010540076, 2010570070, 2010570085, 2010620102, 2020260278, 2020260682, 2020535288, 2020539221, 2020539277, 2020571702, 2060210251, 2060210271, 4000219918L, 4000230040L, 10000000000594L, 10000000000782L, 10000000000786L, 10000000001057L, 10000000001096L, 10000000002066L, 10000000002167L, 10000000002328L, 10000000002412L, 10000000003554L, 10000000003556L, 10000000003629L, 10000000003947L, 10000000003949L, 100000000073254L, 100000000094646L, 100000000094680L, 100000000094709L]

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

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

相关文章

Python通过Pygame绘制移动的矩形实例代码

Python通过Pygame绘制移动的矩形实例代码

Pygame是一个多用于游戏开发的模块。 本文实例主要是在演示框里实现一个移动的矩形实例代码,完整代码如下: #moving rectangle project import py...

使用Python完成15位18位身份证的互转功能

使用Python完成15位18位身份证的互转功能

  最近工作中刚好要清洗一批客户数据,涉及到身份证号码15位和18位的转换,特意研究了下,在这里分享下。 身份证号码的构成 既然谈到了身份证转换,那就需要先了解下证件号码的构成...

Python中的Descriptor描述符学习教程

Descriptor是什么?简而言之,Descriptor是用来定制访问类或实例的成员的一种协议。额。。好吧,一句话是说不清楚的。下面先介绍一下Python中成员变量的定义和使用。 我们...

python psutil库安装教程

python psutil库安装教程

确认本机已安装python环境 查看pip版本 安装psutil 卸载第三方库 总结 以上所述是小编给大家介绍的python psutil库安装教程,希望对大家有所帮助,如果大家...

Python yield使用方法示例

1. iterator叠代器最简单例子应该是数组下标了,且看下面的c++代码: 复制代码 代码如下:int array[10];for ( int i = 0; i < 10; i...