日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中sorted的用法append_Python中高阶函数sorted()用法

發布時間:2023/12/2 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中sorted的用法append_Python中高阶函数sorted()用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Python中,有內置的排序方法:sorted(iterable, key, reverse)。

Sorted()函數也是一個高階函數,它還可以接收一個key函數來實現自定義的排序。key指定的函數將作用于list的每一個元素上,并根據key函數返回的結果進行排序。

print(sorted([1,34,-5,55,-100,12]))

直接像上面對數字進行的排序,得到的結果為下面:

[-100, -5, 1, 12, 34, 55]

這是對簡單的排序,但是如果按照絕對值進行排序,就可以利用key

print(sorted([1,34,-5,55,-100,12],key=abs))

加上key,按照絕對值進行排序,得到的結果如下所示:

[1, -5, 12, 34, 55, -100]

這是對key的簡單利用,當然我們還能夠自己定義函數來排序。

def ad(x):

return x*(-1)

print(sorted([1,34,-5,55,-100,12],key=ad))

如上定義了一個函數ad(),這個函數就是取反,按照取反之后的結果進行排序,得到下面的結果:

[55, 34, 12, 1, -5, -100]

這也是對key的簡單運用,通過自己定義函數的方法。

sorted()除了對純數字進行排序以外,還能夠對字符串進行排序,按照ASCII的順序進行排序

print(sorted(['as','xp','junjun','XX','zp','www','+']))

print(sorted(['as','xp','junjun','XX','zp','www','+'],key=str.lower))

print(sorted(['as','xp','junjun','XX','zp','www','+'],key=str.lower,reverse=True))

如上為對字符串進行排序,如下為結果:

['+', 'XX', 'as', 'junjun', 'www', 'xp', 'zp']

['+', 'as', 'junjun', 'www', 'xp', 'XX', 'zp']

['zp', 'XX', 'xp', 'www', 'junjun', 'as', '+']

通過對比,可以發現,先特殊字符,再大寫字母,再小寫字母。如果加上key=str.lower來排序,所排序出來的字符串不區分大小寫。若加上reverse=True,則是按照相反的順序來排序。

練習:假設我們用一組tuple表示學生名字和成績:

L = [('Bob',75),('Adam',92),('Xp',100),('Junjun',1)]

請用sorted()對上述列表分別按名字和成績排序:

#按照名字排序

def by_name(t):

return t[0].lower()

#按照成績排序

def by_score(t):

return t[1]

L = [('Bob',75),('Adam',92),('Xp',100),('Junjun',1)]

L2 = sorted(L, key = by_name)

print(L2)

L3 = sorted(L, key = by_score)

print(L3)

上面練習的結果為:

[('Adam', 92), ('Bob', 75), ('Junjun', 1), ('Xp', 100)]

[('Junjun', 1), ('Bob', 75), ('Adam', 92), ('Xp', 100)]

【分析】

L列表中的每個元素都是一個元組,首先按名字排序,key作用與排序中列表里的每一個元素,所以傳入by_name里的參數t是一個元組,需要對元組的第一個元素進行排序,所以是t[0]。所以說他[0]就是元組的第一個字段name,而相應的t[1]就是元組的第二個字段score。

python中高階函數與裝飾器

高階函數的定義:傳入參數有函數名或者返回值有內置函數名的函數. 最簡單的高階函數: def add(x, y, f):??? return f(x) + f(y) add(-5, 6, abs) 常用 ...

python高階函數sorted

原文 排序也是在程序中經常用到的算法.無論使用冒泡排序還是快速排序,排序的核心是比較兩個元素的大小.如果是數字,我們可以直接比較,但如果是字符串或者兩個dict呢?直接比較數學上的大小是沒有意義的,因 ...

python高階函數——sorted排序算法

python 內置的sorted()函數可以對一個list進行排序: >>> sorted([8,3,8,11,-2]) [-2, 3, 8, 8, 11] 既然說是高階函數,那么它 ...

Python中高階函數講解

高階函數講解 1. 常規高階函數 遞歸函數 格式:def func_name(variable): '''__doc__'''#函數的說明文檔 if 條件表達式:#限制遞歸退出值 pass retur ...

python中高階函數學習筆記

什么是高階函數 變量可以指向函數,函數的參數能接收變量,那么一個函數就可以接收另一個函數作為參數,這種函數就稱之為高階函數 def fun(x, y, f): print f(x), f(y) fun ...

python中高階函數與裝飾器(3)

>>> f = lambda x: x * x>>> f at 0x101c6ef28> >&gt ...

python中高階函數與裝飾器(2)

函數返回值為內置函數名: def sum(*args):??? def sum_in():??????? ax = 0??????? for n in args:??????????? ax = ax ...

Python 內置函數sorted()在高級用法

對于Python內置函數sorted(),先拿來跟list(列表)中的成員函數list.sort()進行下對比.在本質上,list的排序和內建函數sorted的排序是差不多的,連參數都基本上是一樣的. ...

python高階函數的使用

目錄 python高階函數的使用 1.map 2.reduce 3.filter 4.sorted 5.小結 python高階函數的使用 1.map Python內建了map()函數,map()函數接 ...

隨機推薦

ORM框架示例及查詢測試,上首頁修改版(11種框架)

繼上次ORM之殤,我們需要什么樣的ORM框架? 整理了11個ORM框架測試示例,通過示例代碼和結果,能很容易了解各種框架的特性,優缺點,排名不分先后 EF PDF XCODE CRL NHiberna ...

具體解釋coredump

一,什么是coredump 我們常常聽到大家說到程序core掉了,須要定位解決,這里說的大部分是指相應程序因為各種異常或者bug導致在執行過程中異常退出或者中止,而且在滿足一定條件下(這里為什么說須要 ...

windows7 安裝python

首先去Python官網,https://www.python.org 找到downloads,我這里系統是win7 x64,下載的是最新版本3.4.2 下載完成后有個msi文件,選擇文件安裝目錄,一路 ...

mysql用戶權限分配專欄

00x1創建新用戶 通過root用戶登錄之后創建 創建新用戶,用戶名為testuser,密碼為123456 : 1 grant all privileges?on?*.* to testuser@lo ...

import this

import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than ...

指定nginx某個目錄顯示目錄結構

1.修改配置文件/usr/local/nginx/conf/nginx.conf 指定目錄,開啟autoindex為on. location /study { autoindex on; } 2. 保 ...

C++中explicit的用法

https://blog.csdn.net/qq_35524916/article/details/58178072 https://blog.csdn.net/jinjin1062495199/ar ...

Entity Framework——讀寫分離

1 實現 CustomDbContext擴展了DbContext,其構造函數帶有形式參nameOrConnectionString,可以在使用CustomDbContext時指定數據庫連接字符串. D ...

java得到當前時間

SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); java.util.Date ...

UART驅動分析

在linux用戶層上要操作底層串口需要對/dev/ttySxxx操作,這里的ttySx指實際的終端串口. 以下以全志A64為實例,分析UART驅動以及淺談TTY架構. linux-3.10/drive ...

總結

以上是生活随笔為你收集整理的python中sorted的用法append_Python中高阶函数sorted()用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。