最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 使用多屬性來進行排序

 更新時間:2019年09月01日 09:43:10   作者:溫欣爸比  
這篇文章主要介紹了Python 使用多屬性來進行排序的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

Python 中 list.sort() 是列表中非常常用的排序函數(shù), key 參數(shù)可以對單個屬性進行排序。

但是想要實現(xiàn)類似 sql 中 order by id, age 一樣,對多個字段進行排序就不支持了。

py2 中 sort() 函數(shù)還有個 cmp 參數(shù)可以傳入一個方法,可以自定義對多個屬性進行排序,py3 中移除了這個字段。

py3 想要實現(xiàn)這個功能,需要使用 functools 模塊中的方法,實例如下

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: wxnacy(wxnacy@gmail.com)

from functools import cmp_to_key

def cmp_func(a, b):

  if a['id'] < b['id']:
    return -1
  elif a['id'] > b['id']:
    return 1

  if a['name'] < b['name']:
    return -1
  elif a['name'] > b['name']:
    return 1

  return 0

arr.sort(key=cmp_to_key(cmp_func))

上面的例子我們實現(xiàn)了 id 正序排序,如果 id 相同,則按照 age 正序排序

為了方便可以封裝成一個方法,以供列表調用,封裝的方法 demo 可以參見地址

https://github.com/wxnacy/study/blob/master/python/office_module/list_demo/sort_by_multi_fields.py

總結

以上所述是小編給大家介紹的Python 使用多屬性來進行排序,希望對大家有所幫助,如果大家有任何疑問歡迎給大家留言,小編會及時回復大家的!

相關文章

  • python中文分詞庫jieba使用方法詳解

    python中文分詞庫jieba使用方法詳解

    這篇文章主要介紹了python中文分詞庫jieba使用方法詳解,需要的朋友可以參考下
    2020-02-02
  • 詳解python解壓壓縮包的五種方法

    詳解python解壓壓縮包的五種方法

    這里討論下使用Python解壓五種壓縮文件,.gz .tar .tgz .zip .rar的相關知識,文中給大家介紹了python實現(xiàn)rar文件解壓的方法,感興趣的朋友跟隨小編一起看看吧
    2019-07-07
  • Python深度學習實戰(zhàn)PyQt5安裝與環(huán)境配置過程詳解

    Python深度學習實戰(zhàn)PyQt5安裝與環(huán)境配置過程詳解

    本系列面向 Python 小白,從零開始實戰(zhàn)解說應用 QtDesigner 進行 PyQt5 的項目實戰(zhàn)。什么叫從零開始?從軟件安裝、環(huán)境配置開始。不跳過一個細節(jié),不漏掉一行代碼,不省略一個例圖
    2021-10-10
  • SecureCRTSecure7.0查看連接密碼的步驟

    SecureCRTSecure7.0查看連接密碼的步驟

    SecureCRTSecure7密碼查看的方法大概可以分為兩個步驟,第一步需要查看系統(tǒng)保存的連接的ini文件,第二步破解加密之后的密碼,具體腳本請參考下本文
    2021-06-06
  • 基于Flask實現(xiàn)的Windows事件ID查詢系統(tǒng)

    基于Flask實現(xiàn)的Windows事件ID查詢系統(tǒng)

    Windows操作系統(tǒng)的事件日志系統(tǒng)記錄了數(shù)百種不同的事件ID,每個ID對應特定的系統(tǒng)事件,本文介紹如何構建一個基于Web的事件ID查詢系統(tǒng),文章通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • PyTorch模型的保存與加載方法實例

    PyTorch模型的保存與加載方法實例

    Pytorch保存模型其實非常簡單,下面這篇文章主要給大家介紹了關于PyTorch模型的保存與加載的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • 使用Python打造高效多進程TCP服務器

    使用Python打造高效多進程TCP服務器

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)多進程的TCP服務器,通過為每個連接進來的客戶端分配一個進程,實現(xiàn)并發(fā)處理多個客戶端請求的能力,感興趣的可以了解下
    2024-01-01
  • 對python中的xlsxwriter庫簡單分析

    對python中的xlsxwriter庫簡單分析

    今天小編就為大家分享一篇對python中的xlsxwriter庫簡單分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 一文讓你秒懂精通pip并快速體驗深度學習應用【建議收藏】

    一文讓你秒懂精通pip并快速體驗深度學習應用【建議收藏】

    在使用python的時候,經(jīng)常使用到pip這個工具,可以很方便的線上安裝依賴庫,當然pip還有很多參數(shù)都可以幫我們去查詢一些庫信息,這篇文章主要給大家介紹了如何通過一篇文章讓你秒懂精通pip并快速體驗深度學習應用的相關資料,需要的朋友可以參考下
    2021-08-08
  • Python簡單實現(xiàn)安全開關文件的兩種方式

    Python簡單實現(xiàn)安全開關文件的兩種方式

    這篇文章主要介紹了Python簡單實現(xiàn)安全開關文件的兩種方式,涉及Python的try語句針對錯誤的判定與捕捉相關技巧,需要的朋友可以參考下
    2016-09-09

最新評論

楚雄市| 新疆| 米脂县| 漳州市| 大悟县| 溧阳市| 盱眙县| 汉阴县| 滨海县| 宜昌市| 富平县| 临漳县| 公安县| 华蓥市| 科尔| 武义县| 三台县| 富民县| 健康| 延寿县| 东乡县| 开封县| 南陵县| 邓州市| 黄骅市| 临泽县| 谷城县| 奈曼旗| 北海市| 永丰县| 镶黄旗| 望谟县| 喀喇沁旗| 陇川县| 花垣县| 武陟县| 保山市| 大新县| 右玉县| 扶沟县| 拉萨市|