Также рассмотрим
аюсь отсортировать свой список кортежей на основе 4-го элемента в каждом из кортежей. Четвертый элемент содержит строку, которая является именем человека. Я хочу поставить кортежи с одинаковыми именами рядом друг с другом. Пример списков кортежей перед сортировкой:
[("A",100,"Q",3,"Todd",2.0),
("B",203,"R",3,"Rachel",1.66),
("B",273,"F",1,"Mike",2.66),
("A",200,"P",1,"Rachel",0.0),
("A",549,"D",3,"Todd",2.0),
("B",220,"S",3,"Todd",4.0),
("B",101,"M",3,"Jon",3.33),
("A",999,"N",3,"Rachel",1.33)]
Я хочу, чтобы это тоже выглядело так:
[("A",100,"Q",3,"Todd",2.0),
("A",549,"D",3,"Todd",2.0),
("B",220,"S",3,"Todd",4.0),
("B",203,"R",3,"Rachel",1.66),
("A",200,"P",1,"Rachel",0.0),
("A",999,"N",3,"Rachel",1.33),
("B",273,"F",1,"Mike",2.66),
("B",101,"M",3,"Jon",3.33)]
Мне нужно, чтобы все кортежи, содержащие Тодда, были рядом друг с другом и так далее для каждого имени. Порядок отображения имен не имеет значения, просто они находятся рядом друг с другом.
sortedList= show . sortBy byName . (map stringToTuple) . (map words) . lines
Это строка кода, которую я называю сортировать по. Я понимаю, что мне нужно сделать функциюbyName
это каким-то образом выяснит, если у кортежей общее имя.
Любая помощь, чтобы направить меня в правильном направлении для написанияbyName
Метод будет оценен. Спасибо