zoukankan      html  css  js  c++  java
  • python多列排序

      python的sort()和sorted()函数可以进行多列排序。在一个文本或者列表有多列时,这是一个很好用的技巧。

      首先,看一下待排序的数据

      这是一个csv文件,它有6列,我们需要首先对第一列排序,再对第六列排序

      46896961,192100485,1,95wf5sm,1863,2014-12-18 15
      39716997,265509650,1,94k0ped,6058,2014-11-18 19
      40907060,362837862,1,,12819,2014-12-08 04
      118420067,331756810,1,,6054,2014-12-13 19
      18261127,268564109,1,,2771,2014-12-17 19
      17042777,72469526,1,,1863,2014-12-11 23
      104414180,141928375,1,,1863,2014-12-09 19
      28375714,258478694,1,,8095,2014-12-06 14
      132940744,46626071,1,9752qdo,4230,2014-11-27 21
      46896961,10879448,1,95wf59q,11279,2014-12-11 23

      把数据读到列表里面,列表调用sort()函数进行排序,sort()函数多列排序的格式为 list.sort(key = lambda x:(第一列,第六列)),因为读到列表里面的字符串有换行符,可以对第六列进行切片操作。由于第六列是规范的日期格式,所以自己用字符串比较大小是可行的。如果日期不是规格化的,可以把年月日取出,转为int型比较大小。

      代码实现为:

      reader_list.sort(key = lambda x: (x.split(',')[0], x.split(',')[5][-14:-1]))

      

  • 相关阅读:
    学习鸟哥linux私房菜--安装中文输入法fcitx
    学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)
    CSS
    vue-cli脚手架搭建项目及Axios封装
    前端面试题套路
    移动端touch事件
    import和require的区别
    接口封装
    js 数组操作
    vue 小记
  • 原文地址:https://www.cnblogs.com/lkprof/p/4415288.html
Copyright © 2011-2022 走看看