python中的list元組如何按照第二維元素排序

時間 2021-05-04 15:43:13

1樓:上官駿景

在python中可以使用sorted函式對list進行排序,但是如果排序的物件是一個包含tuple的list時,sorted函式會使用tuple的第一個元素。如果想要使用tuple的第二個元素進行排序,可以向sorted函式傳入一個key引數,key引數必須是一個函式,輸入是list的一個元素,輸出最好是一個數字或簡單的字元。

構造這樣一個函式可以使用匿名函式lambda,示例**如下:

lista = [('a', 1), ('c', 3), ('d', 4), ('b', 2)]

sorted(lista, key=lambda x:x[1])

輸出結果為:

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

對list進行排序,python提供了兩個方法

方法1.用list的內建函式list.sort進行排序

list.sort(func=none, key=none, reverse=false)

python例項:

list = [2,5,8,9,3]

list

[2,5,8,9,3]

list.sort()

list

[2, 3, 5, 8, 9]

方法2.用序列型別函式sorted(list)進行排序

python例項:

list = [2,5,8,9,3]

list

2樓:

in [1]: a=((1,'c'),(4,'d'),(2,'b'),(3,'a'))

in [2]: sorted(a,key=lambda x:x[1])

out[2]: [(3, 'a'), (2, 'b'), (1, 'c'), (4, 'd')]

in [3]: sorted(a)

out[3]: [(1, 'c'), (2, 'b'), (3, 'a'), (4, 'd')]

python基礎題(選擇排序、二維列表)如何做,急求 5

3樓:匿名使用者

from random import sample

data=sample(range(1,101),30)

arr=[data[x:x+6] for x in range(0,len(data),6)]

print('轉變為5*6的二維列表',arr,'\n')

print('該二維列表每行最大值:',list(map(max,arr)),'\n')

print('該二維列表每行最小值:',list(map(min,arr)),'\n')

print('該二維列表每行平均值:',list(map(lambda x:sum(x)/len(x),arr)),'\n')

print('大於平均值個數:',list(map(lambda x:len([y for y in x if y>sum(x)/len(x)]),arr)),'\n')

print('小於平均值個數:',list(map(lambda x:len([y for y in x if y

python中如何讓list裡的數字部分相加

1 建立python檔案,testsum.py 2 編寫python 初始化list內容 dt test 2d 3s 4d qd 0s jd 3 編寫函式,進行list內容求和 def func li nums result 0 for index,s in enumerate li tp s 0 ...

python如何將list中的字元轉為數字

for index,item in enumerate list a list a index int item 或者list a map eval,list a 或者for index,item in enumerate list a list a index eval item 花開哥 pyth...

python如何讀取網頁中的資料

就是屬於網頁抓取,可參考 如何用python,c 等語言去實現抓取靜態網頁 模擬登陸 裡面有邏輯解釋和 此處不能貼地址,可以通過google搜標題,即可找到帖子地址 不知道你說的網頁是指的什麼,如果你說的是我儲存了一網頁在你的電腦上,那就直接用open函式開啟,read函式讀就行了。如果你說的是某個...