看板 Python 關於我們 聯絡資訊
※ 引述《ironmanstock (鋼鐵人史塔克)》之銘言: : 大家好, : 如果現在有多個學生四科成績如下 : TOM 成績 80,45,74,87, : KIM 成績 69,87,61,58 : LAW成績 89,84,71,51 : ............. : 用PYTHON要怎樣作,才能針對學生們第一科的成績(譬如 80 69 89....) : 去排序學生? : 我原先的做法是想用dic作 : ************************************************* : A=[TOM,KIM,LAW] : B=["80,45,74,87", "69,87,61,58","89,84,71,5"] : dic=zip(A,B) : sorted( dic ,key=lambda x:x[1][0]) : ************************************************* : 用X[1][0] 是想依照第一科成績排序,結果沒成功, : 請問在python要怎樣寫,才能對某一科成績去做排序? : 謝謝大家 應該是資料出了問題。B應該是用list,而不是用字串。 A應該要用字串,否則文字會被視為變數。 A=["TOM", "KIM", "LAW"] B=[[80,45,74,87], [69,87,61,58],[89,84,71,5]] dic=zip(A,B) sortedy = sorted( dic ,key=lambda x:x[1][0]) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.32.131 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1529564447.A.51B.html ※ 編輯: ides13 (220.133.32.131), 06/21/2018 15:05:50 ※ 編輯: ides13 (220.133.32.131), 06/21/2018 15:18:09
ironmanstock: 謝謝ides13,的確這樣做解決了問題!!!! 06/21 18:33