Re: [問題] 關於list排序

看板Python作者 (大雪崩)時間15年前 (2009/06/05 20:50), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串3/5 (看更多)
※ 引述《dotwsc (海上生明月)》之銘言: : ※ 引述《lauer (Enjoy it)》之銘言: : : 想請教關於 list 型態排序 : : 今天如果是二維的 list : : p = [ [1,3,5], : : [6,4,2], : : [9,4,3]] : : 若 p.sort() 則會根據每一列的第一行比大小 : : 請問有辦法能指定 要比的"行"嗎? : : 謝謝大家! : 不知道這是不是你要的? : [[1, 3, 5], [6, 4, 2], [9, 4, 3]] : [[6, 4, 2], [9, 4, 3], [1, 3, 5]] 用 cmp 比較慢,而且 cmp 已經被 Python 3.0 淘汰了。 如果要依第二個元素大小排序的話 def my_key(item): return item[1] p.sort(key=my_key) 如果要依第二個第三個第一個元素大小排序的話 def my_key(item): return (item[1], item[2], item[0]) p.sort(key=my_key) 如果不想定義函式,可用 lambda 或是 from operator import itemgetter p.sort(key=itemgetter(1,2,0)) 更詳細的內容可以參見拙著 http://descriptor.blogspot.com/2008/12/python-idiom-sort.html -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.167.123 ※ 編輯: cakewalks 來自: 140.117.167.123 (06/05 20:52)

06/06 11:05, , 1F
06/06 11:05, 1F

06/06 20:39, , 2F
感謝分享 謝謝!!~
06/06 20:39, 2F
文章代碼(AID): #1AAHIcAc (Python)
討論串 (同標題文章)
文章代碼(AID): #1AAHIcAc (Python)