最新国产好看的视频,伊人天堂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 正序排序

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

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

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

    本系列面向 Python 小白,從零開始實戰(zhàn)解說應(yīng)用 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對應(yīng)特定的系統(tǒng)事件,本文介紹如何構(gòu)建一個基于Web的事件ID查詢系統(tǒng),文章通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2025-04-04
  • PyTorch模型的保存與加載方法實例

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

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

    使用Python打造高效多進程TCP服務(wù)器

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

    對python中的xlsxwriter庫簡單分析

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

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

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

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

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

最新評論

调兵山市| 威信县| 景宁| 吐鲁番市| 红原县| 苍梧县| 华亭县| 海原县| 文登市| 郑州市| 陇西县| 石家庄市| 中山市| 吉林市| 基隆市| 舞阳县| 博罗县| 五家渠市| 华宁县| 封开县| 虹口区| 县级市| 华阴市| 佛教| 西吉县| 嘉峪关市| 石渠县| 许昌市| 杭锦后旗| 屯留县| 陆良县| 蚌埠市| 平山县| 澄迈县| 玛曲县| 高安市| 友谊县| 容城县| 三亚市| 家居| 克东县|