30 列表排序 倒序 max min簡單介紹

2021-10-08 21:51:04 字數 3426 閱讀 4037

>>

> a =[20

,10,30

,40]>>

>

id(a)

46017416

>>

> a.sort(

)#預設是公升序排列 a是 list list物件 list.sort()

>>

> a [10

,20,30

,40]>>

> a =[10

,20,30

,40]>>

> a.sort(reverse=

true

)#降序排列

>>

> a[40

,30,20

,10]>>

>

import random

>>

> random.shuffle(a)

#打亂順序 洗牌 將原來的物件順序打亂

>>

> a[20

,40,30

,10]

我們也可以通過內建函式sorted()進行排序,這個方法返回新列表,不對原列表做修改。

sorted不僅可以對list列表物件排序。 其他的 一些 可迭代物件 也是可以排序的。

>>

> a =[20

,10,30

,40]>>

>

id(a)

46016008

>>

> a =

sorted

(a)#預設公升序

>>

> a[10

,20,30

,40]>>

>

id(a)

45907848

# id 改變了 所以不是同乙個 物件了。

>>

> a =[20

,10,30

,40]>>

>

id(a)

45840584

>>

> b =

sorted

(a)>>

> b[10

,20,30

,40]>>

>

id(a)

45840584

>>

>

id(b)

46016072

# id 改變了

>>

> c =

sorted

(a,reverse=

true

)#降序

>>

> c [40

,30,20

,10]

通過上面操作,我們可以看出,生成的列表物件bc都是完全新的列表物件

內建函式reversed()也支援進行逆序排列,與列表物件reverse()方法不同的是,內建函式

reversed()不對原列表做任何修改,只是返回乙個逆序排列的迭代器物件

>>

> a =[20

,10,30

,40]>>

> c =

reversed

(a)>>

> c

>

# 迭代物件

>>

>

list

(c)# 當然 也可以 用 我前面講的 [*c] 來解包[40

,30,10

,20]>>

>

list

(c)# 再次 輸出 則為空了。 這就是 迭代器。 只能使用 一次 。 所以非常節省 記憶體。

我們列印輸出c發現提示是:list_reverseiterator。也就是乙個迭代物件

同時,我們使用list(c)進行輸出,發現只能使用一次。第一次輸出了元素,第二次為空

那是因為迭代物件 在第一次時已經遍歷結束了 ,第二次不能再使用

注:關於迭代物件的使用,後續章節會進行詳細講解。

用於返回列表中最大和最小值。

[40,

30,20,

10]>>

> a =[3

,10,20

,15,9

]>>

>

max(a)

# 返回最大值

20>>

>

min(a)

# 返回最小值

3

前面講 列表合併的 時候 簡單 介紹 過

對數值型列表的所有元素進行求和操作,對非數值型列表運算則會報錯

>>

> a =[3

,10,20

,15,9

]>>

>

sum(a)

57>>

>

sum(

range

(100))

# 求 0 到 100 的 和 。 小學奧數題。

5050

for obj in listobj:

# for 迴圈

print

(obj)

如下**實現列表元素的複製了嗎?

list1 =[30

,40,50

] list2 = list1

只是將 list2 也指向了列表物件,也就是說 list2 和 list2 持有位址值是相同的,

列表物件本 身的元素並沒有複製

我們可以通過如下簡單方式,實現列表元素內容的複製:

list1 =[30

,40,50

] list2 =

+ list1 # 和我之前講的 sum 函式 以及 + 號 合併 列表 是一樣的。

注:我們後面也會學習copy模組,使用淺複製深複製實現我們的複製操作。

7列表排序

要求 將列表裡的內容,自定義排序輸出 實現方式 用到的函式 1.將資料內容寫到乙個空的列表裡 2.將排序前的列表輸出出來 3.運用sorth函式或者lamdba表示式排序 4.將排序後的列表輸出出來 如下 list print 排序前 for i in list print i def px ele...

python3 列表排序 python3 排序

排序 z 11,34,12,9,8534,12,434 z.sort z 12,9,11,12,34,434,8534 sort 函式用於對原列表進行排序,如果指定引數,則使用比較函式指定的比較函式。語法sort 方法語法 list.sort cmp none,key none,reverse fa...

程式5 列表排序sort

程式5 列表排序sort 題目 輸入三個整數x,y,z,請把這三個數由小到大輸出。1.程式分析 我們想辦法把最小的數放到x上,先將x與y進行比較,如果x y則將x與y的值進行交換,然後再用x與z進行比較,如果x z則將x與z的值進行交換,這樣能使x最小。知識點排序 原型sort key none,r...