问一个很简单的问题,怎么对列表元素的第二个位置排序
mathematica吧
全部回复
仅看楼主
level 3
比如表{{1,2,3},{2,1,3},{3,5,2},{2,3,5}},按元素的第二个位置排为{{2,1,3},{1,2,3},{2,3,5},{3,5,2}},有点菜,操作不出来[泪]
2022年05月14日 04点05分 1
吧务
level 10
SortBy
2022年05月14日 08点05分 2
Sortby First和Last,但是没有其他值,这个规则表达式不会写[泪]
2022年05月14日 10点05分
2022年05月14日 12点05分
@asdasd1dsadsa 谢谢,看来我要把#这些看一遍了
2022年05月15日 05点05分
level 1
提供一个匿名函数作为Sort的第二个参数即可(跟C++里的std::sort用法类似):
Sort[{{1, 2, 3}, {2, 1, 3}, {3, 5, 2}, {2, 3,
5}},
#1[[2]] < #
2[[2]] &]
2022年05月15日 09点05分 3
level 1
再给你提供一个C++版本,看
一下Mathematica中Sort函数和C++中std::sort函数用法的相似性:
2022年05月15日 09点05分 4
吧务
level 15
lst = {{1, 2, 3}, {2, 1, 3}, {3, 5, 2}, {2, 3, 5}};
#[[#\[Transpose][[2]] // Ordering]] &@lst
2022年06月04日 05点06分 5
1