第三章 第三節(補充) 列表排序

2021-09-01 09:30:45 字數 1750 閱讀 7137

零、排序快速講解

本節是補充內容,主要講解列表的排序,列表排序有兩種,分別是:list.sort()sorted()。我們來分別看一下。

list.sort()

sort()直接修改列表,返回值為none。語法如下:

list

.sort(

[key]

[,reverse]

)

其中key代表用作排序比較的鍵函式,即自定義排序規則,reverse表示按照公升序排序還是降序排序(true為降序,false為公升序)。下面通過例子來看一下:

# 定義乙個列表

nums=[9

,5,2

,6,0

,4,8

]# 按照公升序排列

nums.sort(reverse=

false

)# 輸出結果為[0, 2, 4, 5, 6, 8, 9]

print

(nums)

# 我們定義偶數排前面,奇數排後面

nums.sort(key=

lambda x:

(x%2!=0

,x))

# 輸出結果為[0, 2, 4, 6, 8, 5, 9]

print

(nums)

sorted()

當我們需要保留原有列表值時,我們需要使用sorted()函式,sorted()返回乙個排序後的列表,語法如下:

sorted

(iterable[

, key]

[, reverse]

)

iterable是乙個可迭代物件,這裡的key和reverse同sort(),同樣我們通過例子來看一下:

# 定義乙個列表

nums=[9

,5,2

,6,0

,4,8

]# 按照公升序排列

new_nums=

sorted

(nums,reverse=

false

)# 輸出結果為[0, 2, 4, 5, 6, 8, 9]

print

(new_nums)

# 我們定義偶數排前面,奇數排後面

new_nums=

sorted

(nums,key=

lambda x:

(x%2!=0

,x))

# 輸出結果為[0, 2, 4, 6, 8, 5, 9]

print

(new_nums)

一、二者的區別

sort() 是應用在列表上的方法,sorted() 可以對所有可迭代的物件進行排序操作。列表的sort()方法返回的是對已經存在的列表進行操作,而內建函式sorted()方法返回的是乙個新的列表,而不是在原來的基礎上進行的操作。

注意:sort()不需要複製列表,因此消耗記憶體少效率高,如果不需要保留原有的列表,則使用sort()方法,反之使用sorted()函式。

覺得不錯打賞一下吧,金額隨意!

第三章 第三節 命令列介面

我們通過與命令列與hdfs互動來了解它。hdfs還有許多其它介面,但是 對開發者來說,命令列是最簡單的,也是最熟悉的。我們將在一台機器上執行hdfs,所以首先根據附錄a來搭建hadoop偽分 布式模式。以後我們會看如何在集群上執行hdfs並提供可靠性及容錯處理。在偽分布式的配置中,有兩個屬性需要我們...

python小白之路 第三章函式第三節

功能 能夠生成乙個指定的數列 引數 start 開始的值,預設為0 stop 結束的值 step 可選,步進值,預設為1 返回值 可迭代的物件,數字序列 功能 可以接收多個可迭代的物件,然後把每個可迭代物件中的第i個元素組合在一起成為乙個元組,這些元組形成乙個新的迭代器 引數 iterables 任...

作業系統複習 第三章 第三節 程序排程

一 處理機排程的基本概念 1.排程的型別 低階排程 程序 或核心級執行緒 排程 中級排程 記憶體排程 2.排程的效能準則 響應時間 分時系統 優先順序 計算 不同排程策略下,一批作業的平均周轉時間 排程演算法本身 3.程序排程的時機 when 當前程序執行 就緒 當前程序執行 阻塞 4.程序排程的方...