二维数组排序问题

babala2009 2013-03-04 10:59:29
例如:
一个二维数组

姓名 数学 语文
赵 100 99
钱 99 98
孙 97 100
李 98 97

想输出显示,需要对其进行排序,例如按姓名排序,按数学成绩排序等,如何做?
...全文
156 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
anaf 2015-01-16
  • 打赏
  • 举报
回复
引用 4 楼 snmr_com 的回复:

>>> a =[[1,3],[4,5],[2,6],[9,2],[3,0]]
>>> from operator import itemgetter
>>> a.sort(key=itemgetter(1))
>>> a
[[3, 0], [9, 2], [1, 3], [4, 5], [2, 6]]
>>> a.sort(key=itemgetter(0))
>>> a
[[1, 3], [2, 6], [3, 0], [4, 5], [9, 2]]
相当厉害
bugs2k 2013-03-05
  • 打赏
  • 举报
回复
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> a = [['赵', 100, 99], ['钱', 99,  98], ['孙', 97,  100], ['李', 98,  97]]
>>> a
[['\xd5\xd4', 100, 99], ['\xc7\xae', 99, 98], ['\xcb\xef', 97, 100], ['\xc0\xee', 98, 97]]
>>> b = sorted(a, key=lambda s:s[0], reverse=0)
>>> b
[['\xc0\xee', 98, 97], ['\xc7\xae', 99, 98], ['\xcb\xef', 97, 100], ['\xd5\xd4', 100, 99]]
>>> c = sorted(a, key=lambda s:s[1], reverse=0)
>>> c
[['\xcb\xef', 97, 100], ['\xc0\xee', 98, 97], ['\xc7\xae', 99, 98], ['\xd5\xd4', 100, 99]]
>>> d = sorted(a, key=lambda s:s[2], reverse=0)
>>> d
[['\xc0\xee', 98, 97], ['\xc7\xae', 99, 98], ['\xd5\xd4', 100, 99], ['\xcb\xef', 97, 100]]
>>>
ImN1 2013-03-04
  • 打赏
  • 举报
回复

>>> a =[[1,3],[4,5],[2,6],[9,2],[3,0]]
>>> from operator import itemgetter
>>> a.sort(key=itemgetter(1))
>>> a
[[3, 0], [9, 2], [1, 3], [4, 5], [2, 6]]
>>> a.sort(key=itemgetter(0))
>>> a
[[1, 3], [2, 6], [3, 0], [4, 5], [9, 2]]
  • 打赏
  • 举报
回复
恭喜楼主
babala2009 2013-03-04
  • 打赏
  • 举报
回复
回复给分 是
babala2009 2013-03-04
  • 打赏
  • 举报
回复
解决 sort

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧