python二維列表排序

2021-08-24 20:22:45 字數 1116 閱讀 3063

假設有乙個學生列表儲存了學號,姓名,年齡資訊:

students = [[3,'jack',12],[2,'rose',13],[1,'tom',10],[5,'sam',12],[4,'joy',8]]
按學號順序排序:

sorted(students,key=(lambda x:x[0]))
[[1, 'tom', 10], [2, 'rose', 13], [3, 'jack', 12], [4, 'joy', 8], [5, 'sam', 12]]
按年齡倒序排序:

sorted(students,key=(lambda x:x[2]),reverse=true)
[[2, 'rose', 13], [3, 'jack', 12], [5, 'sam', 12], [1, 'tom', 10], [4, 'joy', 8]]
按年齡為主要關鍵字,名字為次要關鍵字倒序排序:

sorted(students,key=(lambda x:[x[2],x[1]]),reverse=true)
[[2, 'rose', 13], [5, 'sam', 12], [3, 'jack', 12], [1, 'tom', 10], [4, 'joy', 8]]
使用 operator 模組的 itemgetter 函式輔助對二維列表進行排序,結果和方法一相同。

from operator import itemgetter
按學號順序排序:

sorted(students,key=itemgetter(0))
按年齡倒序排序:

sorted(students,key=itemgetter(2),reverse=true)
按年齡為主要關鍵字,名字為次要關鍵字倒序排序:

print(sorted(students,key=itemgetter(2,1),reverse=true))

python二維列表

class vector2 向量 def init self,x 0,y 0 self.x x self.y y 將函式轉移到類中,就是靜態方法 staticmethod 向右取值 defright return vector2 0,1 向上取值 staticmethod defup return ...

Python與二維列表

列表中的元素還可以是另乙個列表,這種列表稱為多為列表。只有一層巢狀的多維列表稱為二維列表。語法 變數 元素1,元素2 元素1,元素2 使用列表儲存員工的工號 姓名和月薪資訊 使用for迴圈遍歷輸出所有的員工資訊 employee infos a1 王保華 10000 a2 李維新 5200 a3 張...

Python 列表 二維列表轉換為一維列表

將以下二維列表變為一維列表。nums 1,2,3 4,5,6 7,8,9 num for hang in nums for num in hang 1,2,3,4,5,6,7,8,9 res for hang in nums for num in hang 1,2,3,4,5,6,7,8,9 res...