Qia*_* Li 3 wolfram-mathematica
我想按顺序重新排序Tally[Characters["2723198931"]]每个元素的第一个组件的结果lst = {"3", "1", "2", "9"}.也就是说,我想要输出{{{"3", 2}}, {{"1", 2}}, {{"2", 2}}, {{"9", 2}}}.
目前我有一种丑陋的解决方案,但想知道是否有人可以帮助提供简洁的解决方案.非常感谢.
一种方式可能是
data = Tally[Characters["2723198931"]];
lst = {"3", "1", "2", "9"};
(*algorithm*)
pos = Position[data[[All, 1]], #] & /@ lst;
Extract[data, pos]
Run Code Online (Sandbox Code Playgroud)
产量
{{{"3", 2}}, {{"1", 2}}, {{"2", 2}}, {{"9", 2}}}
Run Code Online (Sandbox Code Playgroud)
更新2:37 am
上面的屏幕截图,我在Windows 7上使用v 8.04

| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |