列表排序:
修改原列表,不生成新列表的排序
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 二分查詢的前提 列表是有序的...