要按python 2.7中第二个维度的第n个元素对嵌套的2D列表(list2D)进行排序,我可以使用
list3D = [[[5,4,5,7],
[0,1,1,0]],
[[2,7,5,7],
[1,0,0,1]],
[[1,2,5,7],
[1,1,1,0]]]
如何根据第二维和第三维的第n个元素对3D列表(list3D)的第二维进行排序?
这将对下面的list3D进行排序,目前按顺序为4,7,2。
sort3D = [[[1,2,5,7],
[1,1,1,0]],
[[5,4,5,7],
[0,1,1,0]],
[[2,7,5,7],
[1,0,0,1]]]
到sort3D下面,它按第二和第三维的indices [0] [1]排序为2,4,7
String title = data.getJSONObject(0).getString("announcement_title");
String content = data.getJSONObject(0).getString("announcement_content");
String date = data.getJSONObject(0).getString("announcement_date");
答案 0 :(得分:2)
sorted()
可以接受一个将被赋予元素的lambda,并且应该返回一些可排序的东西(这里是你的值)来对结果进行排序:
>>> list3D = [[[5,4,5,7],
[0,1,1,0]],
[[2,7,5,7],
[1,0,0,1]],
[[1,2,5,7],
[1,1,1,0]]]
>>> sorted(list3D, key=lambda x: x[0][1])
[[[1, 2, 5, 7], [1, 1, 1, 0]], [[5, 4, 5, 7], [0, 1, 1, 0]], [[2, 7, 5, 7], [1, 0, 0, 1]]]
该文档有great appendix关于使用key=