• 专题3-2:列表基础知识:二维list排序、获取下标和处理txt文本实例


    https://blog.csdn.net/Eastmount/article/details/48470577

    这篇文章主要简单的介绍使用Python处理txt汉字文字、二维列表排序和获取list下标

    一. list二维数组排序

    • 它和字符串不同之处在于:字符串只能由字符组成而且不可变的(不能单独改变它的某个值),而列表是能保留任意数目的Python对象灵活容器。
    • 总之,列表可以包含不同类型的对象(包括用户自定义的对象)作为元素,列表可以添加或删除元素,也可以合并或拆分列表,包括insert、update、remove、sprt、reverse等操作。

    列表排序介绍

    【1】常用列表排序方法包括使用List内建函数list.sort()或序列类型函数sorted(list)排序
    两种方法的区别:

    list.sort() 不会返回对象,改变原有的list。 
    sorted(list)没有改变原有的list。返回一个对象,可以用作表达式。原来的list不变,生成一个新的排好序的list对象。
    
    举例:
    1、正向:
    list.sort()  
    print(list)
    2、print sorted(list)
    3、反向排序:L.sort(reverse=True)
    

    二维列表排序,lambda匿名函数????

    参考:http://blog.chinaunix.net/uid-20775448-id-4222915.html
    【2】对第二个关键字进行排序。

    list = [('Tom',4),('Jack',7),('Daly',9),('Mary',1),('God',5),('Yuri',3)]
    方法1、list.sort(lambda x,y:cmp(x[1],y[1]))
    方法2、list.sort(key=lambda x:x[1])
    方法3、import operator
    L.sort(key=operator.itemgetter(1)) 
    
    总结:效率比较: 
    cmp < DSU < key 
    通过实验比较,方法1比方法2要慢,方法3和方法3基本相当  
    多关键字比较排序: 
    

    【3】多关键字比较排序:
    想用第二个关键字排过序后再用第一个关键字进行排序呢?有两种方法

    方法1、L.sort(key=lambda x:(x[1],x[0]))
    方法2、L.sort(key=operator.itemgetter(1,0))

    二. 处理txt文本

    下面是通过txt文件按行读取,并获取面积进行排序。其中核心代码如下:

    步骤:
    读取文件&列表添加
    列表排序
    获取面积字符串
    最后同时需要处理各种字符串情况,如‘或’、‘万’要乘10000、删除‘[1]’等。更简单的方法是通过正则表达式或获取第一个非数字字符。
    
  • 相关阅读:
    Datatables 行数据删除、行上升、行下降功能演示
    1.2 初识输入输出
    布局管理——绝对定位
    创建一个包括菜单栏,工具栏,状态栏,文本编辑部件的经典GUI应用程序的骨架
    工具栏
    上下文菜单
    选项菜单
    创建子菜单
    设置菜单栏
    添加状态栏(显示状态信息)
  • 原文地址:https://www.cnblogs.com/chenhuan123/p/12036776.html
Copyright © 2020-2023  润新知