【Python函數】——sort,sorted

1、sorted和sort的常規使用

2、關于自定義比較函數

3、試驗

from functools import cmp_to_key
ll = [(2,3,10),(1,2,3),(5,6,7),(2,5,10),(2,4,10)]# 根據一個維度進行排序,這里根據第一維排序
ll1 = sorted(ll,key = lambda x:x[0])
print('根據一個維度進行排序,這里根據第一維排序:\n',ll1)#[(1, 2, 3), (2, 3, 10), (2, 5, 10), (2, 4, 10), (5, 6, 7)]# 同時對兩個維度進行排序,排序方式相同,降序或者升序,這是先排序第一個數,再在第一個數有序的情況下,對第二個數進行排序
ll2 = sorted(ll,key=lambda x:(x[0],x[1]))
print('同時對兩個維度進行排序,排序方式相同,降序或者升序:\n',ll2)# [(1, 2, 3), (2, 3, 10), (2, 4, 10), (2, 5, 10), (5, 6, 7)]# 自定義key函數
def compare(x,y):if x < y: # 就是兩個數進行比較,要是返回為正數,則交換位置,所以這里是當x<y是返回整數,所以是降序操作return 1elif x > y:return -1else:return 0
ll3 = sorted(ll,key = cmp_to_key(compare)) # 應用到所有維度上,效果如上面所示
print('自定義降序key函數對所有維度使用:\n',ll3)# [(5, 6, 7), (2, 5, 10), (2, 4, 10), (2, 3, 10), (1, 2, 3)]ll4 = sorted(ll,key = cmp_to_key(lambda x,y:compare(x[2],y[2])))
print('lambda對所有維度降序使用:\n',ll4)# [(5, 6, 7), (2, 5, 10), (2, 4, 10), (2, 3, 10), (1, 2, 3)]

結果:

根據一個維度進行排序,這里根據第一維排序:
?[(1, 2, 3), (2, 3, 10), (2, 5, 10), (2, 4, 10), (5, 6, 7)]
同時對兩個維度進行排序,排序方式相同,降序或者升序:
?[(1, 2, 3), (2, 3, 10), (2, 4, 10), (2, 5, 10), (5, 6, 7)]
自定義降序key函數對所有維度使用:
?[(5, 6, 7), (2, 5, 10), (2, 4, 10), (2, 3, 10), (1, 2, 3)]
lambda對所有維度降序使用:
?[(2, 3, 10), (2, 5, 10), (2, 4, 10), (5, 6, 7), (1, 2, 3)]

4、問題

怎么對一個維度降序,然后再這個維度順序不變的情況下,對另一個維度實現升序???

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255998.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255998.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255998.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

生成相關矩陣

U是X&#xff08;差異矩陣&#xff09;各列向量取方向后形成的矩陣&#xff0c;CU^T * U 即相關矩陣&#xff0c;即各列向量兩兩的夾角&#xff0c;&#xff08;夾角越小說明關聯度越高&#xff09; clc avg_e66;avg_m66;avg_s76; x1[61 63 78 65 63] -avg_e; x2[53 73 61 84 5…

Java關于Properties用法的總結(一)

最近項目中有一個這樣的需求&#xff0c;要做一個定時任務功能&#xff0c;定時備份數據庫的操表&#xff0c;將表數據寫入txt文件。因為文件的讀寫路徑可能需要隨時改動&#xff0c;所以寫死或者寫成靜態變量都不方便&#xff0c;就考慮使用配置文件&#xff0c;這里總結些配置…

【tensorflow】——tensorboard可視化計算圖以及參數曲線圖loss圖

參考文獻&#xff1a; https://zhuanlan.zhihu.com/p/71328244 目錄 1.可視化計算圖 2.可視化參數 3. 遠程tensorboard 4、報錯 真是出來混遲早是要還的&#xff0c;之前一直拒絕學習Tensorboard&#xff0c;因為實在是有替代方案&#xff0c;直到發現到了不得不用的地步…

Lab01:Xv6 and Unix utilities

實驗測試方法 實驗的測試方法主要有2個&#xff1a; 進入到Xv6系統中&#xff0c;執行相應的命令使用實驗提供的評分測試 對于單個實驗&#xff0c;可以使用 make GRADEFLAGSapplication grade其中application為要測試的實驗應用&#xff0c;例如sleep實驗對應的評分測試命令…

jQuery學習- 位置選擇器

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>位置選擇器</title><script src"js/jquery.js"></script><script type"text/javascript">$(function(){//獲取第一個li$(&quo…

數據類型之元組

存多個值&#xff0c;對比列表來說&#xff0c;元組不可變&#xff08;是可以當做字典的key的&#xff09;&#xff0c;主要是用來讀 與列表類型比&#xff0c;只不過[]換成()age(11,22,33,44,55) #本質agetuple((11,22,33,44,55)) print(type(age)) age[0]12 t(1,2,[a,b]) pri…

cocos2d-x3.6 連連看連通畫線

我的博客&#xff1a;http://blog.csdn.net/dawn_moon 網上看到非常多人寫的連連看&#xff0c;都沒有畫連線的實現。事實上要話連線挺簡單的。cocos2d-x 提供了一個非常方便的繪圖形的類。DrawNode。這個類封裝了非常多畫線條&#xff0c;多邊形的方法。非常方便&#xff0c;非…

阿里云大數據計算服務MaxCompute(上篇)

關于阿里云大數據計算服務MaxCompute的詳細內容&#xff1a; 阿里云大數據計算服務MaxCompute使用教程 &#xff08;MaxCompute&#xff08;原ODPS&#xff09;是一項大數據計算服務&#xff0c;它能提供快速、完全托管的PB級數據倉庫解決方案&#xff0c;使您可以經濟并高效的…

Vue3、TypeScript 實現圖片數量及大小隨寬度自適應調整

前言 過了這么久&#xff0c;想起自己還有個博客&#xff0c;更點內容吧&#xff01; 來&#xff0c;上需求&#xff01; 最近在做個前端界面&#xff0c;要求在一行中展示一些圖片&#xff0c;展示的圖片數量隨著窗口寬度大小進行變化&#xff0c;除此之外還有以下要求&…

【tensorFlow】——圖像數據增強、讀取圖像、保存圖像

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/4/13 10:54 # @Author : @linlianqin # @Site : # @File : 數據增強(distorted).py # @Software: PyCharm # @description:一些基于TensorFlow的數據處理方法import tensorflow as tf import cv2 im…

數據分析方法有哪些_數據分析方法

數據分析方法有哪些_數據分析方法 隨著大數據的到來&#xff0c;數據分析師成為大數據時代一顆冉冉升起的新星&#xff0c;現在企業越來越重視大數據&#xff0c;數據分析師這個職業也成為企業爭搶的對象。那么數據分析師的分析數據的方法都有哪些呢&#xff1f; 1、數據分析遵…

蘋果Iphone/Ipad--L2T虛擬教程

1 Iphone和Ipad同為IOS&#xff0c;設置方法相同。首先進入IOS系統的“設置”程序。 2 點擊“通用”進入通用設置&#xff0c;點擊“”; 3 選擇"添加設置 "&#xff1b; 4 選擇L2TP方式&#xff0c;填寫必要信息&#xff1a;描述、服務器地址 、您注冊充值的賬號及密…

記憶化搜索的應用

記憶化搜索的應用 一般來說&#xff0c;動態規劃總要遍歷所有的狀態&#xff0c;而搜索可以排除一些無效狀態。更重要的是搜索還可以剪枝&#xff0c;可能剪去大量不必要的狀態&#xff0c;因此在空間開銷上往往比動態規劃要低很多。 如何協調好動態規劃的高效率與高消費之間的…

【深度學習】——DNN后向傳播、CNN后向傳播文章匯總

深度神經網絡&#xff08;DNN&#xff09;模型與前向傳播算法 深度神經網絡&#xff08;DNN&#xff09;反向傳播算法(BP) 卷積神經網絡CNN的前向和后向傳播&#xff08;一&#xff09; 卷積神經網絡CNN的前向和后向傳播&#xff08;二&#xff09; 有batch normalization的卷積…

ajaxReturn 之前dump調試,導致$.ajax不能正常運行

ajaxReturn 之前dump調試&#xff0c;導致$.ajax不能正常運行 以后調試的時候&#xff0c;注意下這個情況轉載于:https://www.cnblogs.com/bushe/p/5180317.html

Veebot-自動靜脈抽血機器人

Veebot-自動靜脈抽血機器人 我們可能都有過被抽血的經驗。護士讓你握緊拳頭&#xff0c;用一根橡皮條壓住你上臂的血管&#xff0c;在你的肘部內側尋找你的靜脈&#xff0c;有時還需要拍打幾下&#xff0c;摸到隆起的靜脈血管&#xff0c;一針下去。有時候碰到技術好的護士&…

idea 轉普通項目為maven 項目

1、項目上右鍵 Add Framework Support。 2、選擇maven&#xff0c;點擊OK。 轉載于:https://www.cnblogs.com/mayanze/p/8042489.html

HDOJ5547 SudoKu

題目鏈接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid5547 題目大意&#xff1a;填數獨。。。 思路&#xff1a;爆搜 1 #include <stdio.h>2 #include <string.h>3 #include <iostream>4 #include <algorithm>5 using namespace std;6 boo…

【深度學習之ResNet】——深度殘差網絡—ResNet總結

目錄 論文名稱&#xff1a;Deep Residual Learning for Image Recognition 摘要&#xff1a; 1、引言 2、為什么會提出ResNet殘差網絡呢&#xff1f; 3、深度殘差網絡結構學習&#xff08;Deep Residual learning&#xff09; &#xff08;1&#xff09;殘差單元 &#xf…

Atitit.??c#?語法新特性?c#2.0?3.0?4.0?4.5?5.0?6.0???attilax總結

Atitit. c# 語法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax總結 1.1. C# 1.0-純粹的面向對象 1.2. C# 2.0-泛型編程新概念 1.3. C# 2.0的另一個突出的特性就是匿名方法 1.4. C#3.0 linq 1.5. C# 4.0動態編程 dynamic 1.6. C# 4.5 異步編程 async和await 1.7. C# 5.0 更方便…