精华内容
下载资源
问答
  • 主要介绍了Python实现特定列表进行从小到大排序操作,涉及Python文件读取、计算、正则匹配、排序等相关操作技巧,需要的朋友可以参考下
  • python-特定的列表进行从小到大排序 1、在系统内新建文件rizhireplacelist.txt root@kali:~# cd python/ root@kali:~/python# ls 111.txt listsalaryver2.py readfile2.py rizhireplacelist.txt rizhi.txt...

    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]



    展开全文
  • Python排序方法-列表排序sorted的用法:正数在前负数在后,整数从小到大,负数从大到小sorted如何使用?使用函数进行此类排序操作 sorted如何使用? 关于sorted的用法:sorted是python里的一个常用高阶函数,能够进行...

    Python排序方法-列表排序sorted的用法:正数在前负数在后,整数从小到大,负数从大到小

    sorted如何使用?

    关于sorted的用法:sorted是python里的一个常用高阶函数,能够进行一些复杂的排序操作,例:假设存在列表 a = [“paparazzi”,“yang”,“maybe”,“redpanda”,“sylar”,“fy”,“ameame”],我想要根据字符串的长度对列表进行排序:

    a = ["paparazzi","yang","maybe","redpanda","sylar","fy","ameame"]
    print(sorted(a)) # 这个情况是默认按照字符串首字母的acsii 码进行排序
    print(sorted(a, key=len))
    # key 关键字接收的参数是一个函数
    # 当我设置了 key=len 时,字符串排序的时候回先交给 len 这个函数去处理  
    # 然后根据 len(str) 返回的结果进行排序
    

    结果比较如下:
    在这里插入图片描述

    解决列表排序:正数在前,负数在后
    现有列表:list1=[7, -8, 5, 4, 0, -2, -5],目标是:正数在前负数在后,正数从小到大,负数从大到小

    list1 = [7, -8, 5, 4, 0, -2, -5]
    print(sorted(list1, key=lambda x: x*-10 if x <= 0 else x))
    # 这里的匿名函数意思是小于等于 0 的负数和 0 会乘 -10
    # 大于 0 的正数就返回他们本身
    # 0-10 后返回的就是它本身,后面会说明这么做的理由
    

    此时得到的结果:
    在这里插入图片描述
    但是0既非正数也不是负数,我认为应该排列到正数和负数的中间(ps:别问,问就是处女座)
    于是对在 x*-10 的后面增加了一个 +10 的操作, 代码如下:

    list1 = [7, -8, 5, 4, 0, -2, -5]
    print(sorted(list1, key=lambda x: x*-10 +10 if x <= 0 else x))
    

    运行结果如下
    在这里插入图片描述
    OK目的达到

    使用函数进行此类排序操作

    其实一开始最先想到的办法并不是 sorted 和匿名函数,再介绍一种比较简单暴力的方法对这个列表进行排序吧

    list1 = [7, -8, 5, 4, 0, -2, -5]
    # 正负分离 再重组
    def zf_sort(list1):
        list_z, list_f = [], []
        for temp in list1:
            if temp > 0:
                list_z.append(temp)
            else:
                list_f.append(temp)
    
        list_z.sort()
        list_f.sort(reverse=True)
        return list_z + list_f
    
    print(zf_sort(list1))
    

    这个方法的核心想法是,直接通过导入函数,将列表里面的数值以0为分界线,将数据分到两个列表中,再分别对数据进行排序,得到与 sorted 方法同样的结果。
    结果如下
    在这里插入图片描述

    展开全文
  • 快速排序 —— 将列表从小到大的顺序排列快速排序列表从小到大的顺序排列 快速排序 先从数列中取出一个数作为基准数。 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 再...

    快速排序 —— 将列表按从小到大的顺序排列

    快速排序

    1. 先从数列中取出一个数作为基准数。
    2. 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
    3. 再对左右区间重复第二步,直到各区间只有一个数。

    将列表按从小到大的顺序排列

    题目:
    用快速排序的方法将列表按从小到大的顺序排列

    分析:
    分片 + 递归
    这是取了第一个为基准值
    在这里插入图片描述

    实现:

    def quicksort(list):
        if len(list)<2:
            return list
        else:
            midpivot = list[0]
            lessbeforemidpivot = [i for i in list[1:] if i<=midpivot]
            biggerafterpivot = [i for i in list[1:] if i > midpivot]
            finallylist = quicksort(lessbeforemidpivot)+[midpivot]+quicksort(biggerafterpivot)
            return finallylist
    
    print(quicksort([2,4,6,7,1,2,5]))
    

    输出:

    /home/zhanglei/PycharmProjects/untitled/venv/bin/python /home/zhanglei/catkin_ws/src/beginner_tutorials/scripts/t.py
    [1, 2, 2, 4, 5, 6, 7]
    
    Process finished with exit code 0
    
    展开全文
  • python对列表里的数值进行排序

    千次阅读 2021-01-25 19:55:40
    list = [3,2,4,6,74,3,6,4,7,5,67] list.sort() print(list) list里的值会按照从小到大的顺序进行排序
    list = [3,2,4,6,74,3,6,4,7,5,67]
    list.sort()
    print(list)

    list里的值会按照从小到大的顺序进行排序。

    展开全文
  • 这次代码主要是实现列表的排序,使用sort函数实现,sort函数是对列表中的元素按照特定顺序进行排序,默认reverse,为false,从小到大排序, 如果指定reverse=True,从大到小。 语法格式:l.sort(),希望对你们有所...
  • Python 不用sort对列表排序

    千次阅读 2018-12-02 11:06:58
    有道面试题: L = [2,3,5,4,9,6,8,7,1],从小到大排序,不许用sort,输出[1,2,3,4,5,6,7,8,9] 如果用sort很简单,如果不用sort的话,处理起来就麻烦些,处理思路大致: 创建一个空列表,遍历原先列表,找出最小值,...
  • 列表元素的排序:给客人排序 学会列表排序相关操作的使用方法,实现对列表元素的排序...分别按照首字母从小到大的顺序和从大到小的顺序分别排序排序后的输出分别为: ['li si','qian ba','sun qi','wang wu','zhang
  • Python对列表的排列

    2021-02-25 18:31:24
    sort()是对列表从小到大的永久性排序 cars = ['bmw', 'audi', 'toyota', 'subaru'] cars.sort() print(cars) cars.sort(reverse=True) # 对sort()传递参数reverse=True可以倒置排序 print(cars) 2.sorted()函数 ...
  • 表示列表元素从小到大按升序排序 >>>guest ['huang','xiao','yang','ling','duan'] >>>guest.sort() >>>guest ['duan','huang','ling','xiao','yang'] 如果要调成降序,则为sort...
  • Python 列表元素的排序

    2021-04-29 16:36:52
    一般情况下我们创建的列表中的元素可能都是无序的,但有些时候我们需要对列表元素进行排序。 例如,对参加会议的专家名单,我们需要根据专家姓名按照首字母从小到大或者从大到小的顺序进行排序。 例如我们想将如下的...
  • Python玩转列表排序

    2020-04-16 17:25:53
    例如,我们想将参加会议的专家名单guests列表中的五个名字元素['zhang san','li si','wang wu','sun qi','qian ba'],分别按照首字母从小到大的顺序和从大到小的顺序分别排序排序后的输出分别为: 相关知识 ...
  • python 列表 按照 指定索引 排序

    千次阅读 2019-12-02 14:53:28
    记录这个简单小问题,以便提醒自己(说明:这里想表达的不是普通的按照从小到大或从大到小的排序方式) import numpy as np a = np.array([1,3,6,7,8,2,4,5]) index = np.argsort(a) #index 结果为 array([0, 5,...
  • reverse:sort函数的可选参数,如果设置其值为True,则进行反向从大到小排序,如果设置为False或者不填写该参数,则默认进行正向从小到大排序。 sort:列表排序函数的语法关键词 实例: >>>...
  • ①先按照【编号】从小到大进行排序 ②再按照列表中包含【方案、扩初、施工图、后期服务】的顺序进行排序 实现: 自定义排序函数reversed_cmp,并将这个函数传入sort或sorted方法中。在python3中,借助functools包来...
  • python对list[]列表中的dict{}字典排序 data1 = [{"date": "2010-10-12", "name": "张三...# reverse=False 不反转,正序从小到大排序 如果等于True倒叙排,从大到小 data2 = sorted(data1, key=lambda keys: keys.get(
  • 如下例子:需求是先age进行从小到大排序,再根据time从大到小排序。 one_list = [{'age':22,'time':'2020-11-11 08:05:06'},{'age':11,'time':'2020-11-11 12:05:06'},{'age':22,'time':'2020-11-10 08:05:06'}]...
  • (1)sort()函数默认从小到大进行升序排序,指定reverse=True时,进行降序排序。 (2)sorted()内置函数默认从小到大进行升序排序,指定reverse=True时,进行降序排序。但是其会生成一个新的列表,原列表保持不变。 ...
  • 有的时候需要两个列表进行排序,并且要求排序之后两个列表对应位置的值应该是一一对应的,比如有两个列表分别是scores = [1,2,3,5], ages = [8,9,10,1],ages中的年龄一一对应scores中的分数,现在要求按照年龄...
  • Python算法之冒泡排序

    2019-07-17 15:04:58
    从小到大排序:sorted(list) 从大到小排序:sorted(lst, reverse = True) ①不改变原有列表元素顺序,只返回排序后的结果 # sorted对列表进行排序之后会返回一个有序列表,并不会改变原有列表顺序 alist = [0, ...
  • sort函数可以对列表进行从小到大排序,也可以对列表进行从大到小的排序 使用“列表名.sort(reverse=True)”语句就可以对列表进行冒泡排序了 示例如下: li = [12, 87, 98, 21, 35, 645] li.sort(reverse=False)...
  • python获得列表中第二的元素值

    千次阅读 2019-07-08 15:39:37
    第一种方法:仅需使用sort()和pop()来实现 list26 = [ 1, 13, 5, 6, 11, 12, 7, 8, 13] list26.sort() # 先对列表元素按从小到大进行排序 count = list26.count(list26[len(list26) - 1] ) # lis...
  • 本关的编程任务是补全src/step2/sortTest.py文件中的函数部分,要求实现输入列表source_list中的元素按照首字母从小到大的顺序进行排序,并且输出排序后的列表。 本关涉及的代码文件src/step2/sortTest.py的代码...
  • Python 选择排序

    2021-06-05 19:37:54
    选择排序的核心就是有n个元素的列表找n次最小值,然后将最小值出栈压入新创建的列表里,这样新创建的列表自然就是从小到大排序了 代码如下 def print_info(): lst_o = [1, 3, 9, 7, 5, 4, 6, 8] print("排序前的...
  • 1.对列表[-6, 7, 4, -3, 9, -20, -2, 8, 5, -4]排序, ...正数从小到大,负数从大到小。 排序结果为:[4, 5, 7, 8, 9, -2, -3, -4, -6, -20]。 请关注【python的爬虫与数据分析之路】gzh,回复‘作业’获取答案 ...
  • 其中在python中的内置排序,分为两种一种是永久排序,对列表中的元素进行排序,默认从小到大排序,(这种排序为覆盖原来的储存的数据)代码如下: a = [1,5,8,9,10,6,3,7,0] a.sort() print(a) 临时排序,(这种是...
  • 有以下两个二维列表,第一个列表的元素是元组,请其按列表元素的第 2 个元素值从小到大进行排序输出,输出其前 m 项;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬...
  • Python 列表 使用练习

    2020-12-21 12:59:53
    重复的元组元素只保留一个,结果按元组第一个元素从小到大顺序输出。 【样例输入】 numbers:3,4,5,7,2,8,1 【样例输出】 [(1, 8), (2, 7), (4, 5)] 示例解答如下: def get_tuple(num_list): temp_list =
  • 75. python中的排序

    2019-09-04 20:39:25
    Lesson 75 python中的排序 文章目录1. python中的排序 1. python中的排序 ...补充:默认按ASCII值大小+首字母顺序,从小到大排列,大写字母的ASCII值小,小写字母的ASCII值大 按照ASCII码进行排序 # ser...
  • 假如一个列表中有n个数据,从列表中选出最小的一个数据与第一位数据进行交换,然后在剩下的数据中从第二位开始选择最小的数据与第二位的数据进行交换,以此类推,在进行了n-1次排序后,列表的数据就会按照从小到大的...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 147
精华内容 58
关键字:

python对列表从小到大排序

python 订阅