我想重新定义一个元组的顺序,寻找特定的单词
示例,我有一个像这样的元组列表:
[{"a",["r001"]},
{"bi",["bidder"]},
{"bo",["an"]}]
但有时候元组的顺序可以改变,例如:
[{"bi",["bidder"]},
{"a",["r001"]},
{"bo",["an"]}]
或
[{"bo",["an"]},
{"a",["r001"]},
{"bi",["bidder"]}]
元组的第一个字符串/列表是我的唯一键(“bo”,“a”,“bi”)
但是我希望能够重新排序元组列表,总是像:
[{"a",["r001"]},
{"bi",["bidder"]},
{"bo",["an"]}]
我怎样才能做到这一点?
答案 0 :(得分:5)
这样做:
lists:sort(fun({A,_},{B,_}) -> A =< B end, List).
或者这个,它将在第一个元素之后的第二个元素排序:
lists:sort(List).
我提供第二个版本,因为没有自定义排序功能,对于这样的数据来说速度更快。
答案 1 :(得分:2)
如果需要按指定元素排序,只需按指定元素
排序lists:keysort(1, List).