按字符对字符串向量进行排序的更惯用的方法是什么?
示例:
输入:["3r", "2n", "2s", "7r", "1s", "1s", "6r", "1s", "1n", "1n", "5n", "9n", "3r"]
所需输出:["1n", "1n", "2n", "5n", "9n, "3r", "3r", "6r", "7r", "1s", "1s", "1s", "2s"]
首先,它们需要在第二个字符上进行排序,以便将它们分组在一起,然后按第一个字符进行排序。
我用.filter
和.sort_by
尝试了很多东西,但没有成功。
2条答案
按热度按时间roqulrg31#
你可以通过迭代器访问字符串中的字符:
注意,如果元组的相应元素实现
Ord
,则元组实现Ord
。如果它 Package 的类型实现Ord
(char
),则Option实现Ord
。syqv5f0l2#
如果你的字符串总是两个字符长,并且你总是想先按第二个字符对它们进行排序,你可以使用
.sort_by
和一个比较器来反向查看字符串: