列表排序 逆序以及max min和sum

2021-10-06 01:39:09 字數 1560 閱讀 3582

列表排序:

修改原列表,不生成新列表的排序

a=[1,3,2,4,5,6]

print(id(a))

>>>1946419912520

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

print(a)

>>>[1, 2, 3, 4, 5, 6]

a.sort(reverse=true) #降序排列

print(a)

>>>[6, 5, 4, 3, 2, 1]

#隨機排序(打亂順序)

import random

b=random.shuffle(a)

print(a)

>>>[3, 5, 6, 1, 4, 2]

新建列表的順序

可以通過內建函式sorted()進行排序,可以返回新列表,不對原列表修改。

a=[9,8,4,5,2,1]

print(id(a))

>>>1946419918856

b=sorted(a) #預設公升序

print(b)

>>>[1, 2, 4, 5, 8, 9]

print(id(b))

>>>1946419918344

c=sorted(a,reverse=true) #降序

print(c)

print(id(c))

>>>[9, 8, 5, 4, 2, 1]

>>>1946419918408

通過上面操作,可以看出,生成的列表b,c完全是新的列表物件

reversed()返回迭代器(逆序排序)

內建函式reversed()也支援進行逆序排序,與列表物件reverse()方法不同的是,內建函式reversed()不對原列表做任何修改,只是返回乙個逆序排列的迭代器物件

a=[2,4,1,3]

c=reversed(a)

print(c) #返回翻轉迭代器

>>>print(list(c))

>>>[3, 1, 4, 2]

print(list(c))

>>>

*迭代器只能用一次,相當於是以時間換空間,返回迭代器包含乙個指標,一直往前指。

第一次list(c)的時候指標最後指到列表a=[2,4,1,3],元素2的前面(也可以理解為,迭代物件在第一次時已經遍歷結束了,第二次不能再使用了)。

所以第二次使用list(c)返回空值

max和min

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

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

a=[9,3,33]

print(max(a)) #最大值

>>>33

print(min(a)) #最小值

>>>3

print(sum(a)) #列表元素求和

>>>45

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

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 ...

列表逆序排序 Python自學筆記 集合 列表

list列表型別是乙個與元組tuple類似的有序序列。建構函式是list 切片 語法與字串和元組中的一樣 通過函式實現元素插入刪除,insert 和del 插入刪除 fruit.insert 4,rowan print fruit 插入的是序號3的位置 del fruit 4 print fruit...

演算法 列表查詢以及列表排序

1 列表查詢 從列表中查詢指定元素 2 順序查詢 從列表第乙個元素開始,順序進行搜尋,直到找到為止。返回找到的那個索引 3 二分查詢 從有序列表的候選區data 0 n 開始,通過對待查詢的值與候選區中間值的比較,可以使候選區減少一半。二分查詢 時間複雜度是o logn 二分查詢的前提 列表是有序的...