|
本帖最后由 傻眼貓咪 于 2021-8-3 22:18 编辑
- # 問題(1) 解答
- # lambda 的構造是由 arguments(參數) 和 expression(表達式) 組成
- # lambda arguments(參數): expression(表達式)
- # 你的括號這裡是expression(表達式)
- # 比如:func = lambda x, y, z: (x, y, z),這裡的(x, y, z)就是expression(表達式)
- # 問題(2) 解答
- # 你問說為什麼它就知道是bookinfo?
- # 你的代碼寫著 bookinfo.sort(key=......... 前面就是bookinfo啊
- # sort() 有多種用法:
- # 1) book.sort()
- # 2) book.sort(key=......)
- # 3) book.sort(reverse=......)
- # 4) book.sort(key=......, reverse=......)
- # 溫馨提醒:你的代碼沒有問題,但是基本想表達的無效哦,因為你的代碼:
- # bookinfo.sort(key=lambda x:(x[1],x[1]/x[2])) 和 bookinfo.sort() 一樣
- # -------------------------------------------------------------------------------------
- # 以下是我的代碼,可以參考看看
- book = [
- ('C', 7, 'a'),
- ('D', 1, 'd'),
- ('A', 3, 'b'),
- ('B', 5, 'c')
- ]
- # 索引分類如下:
- if __name__ == '__main__':
- # [('A', 3, 'b'), ('B', 5, 'c'), ('C', 7, 'a'), ('D', 1, 'd')]
- book.sort() # 按名稱分類(也就是默認索引0)
- print(book)
- # [('D', 1, 'd'), ('A', 3, 'b'), ('B', 5, 'c'), ('C', 7, 'a')]
- book.sort(key=lambda x: x[1]) # 按索引1分類
- print(book)
- # [('C', 7, 'a'), ('A', 3, 'b'), ('B', 5, 'c'), ('D', 1, 'd')]
- book.sort(key=lambda x: x[2]) # 按索引2分類
- print(book)
复制代码 |
|