python多列排序

來源:互聯網
上載者:User

標籤:

  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]))

  

python多列排序

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.