Как из списка точек получить два списка координат?
Имея набор точек X
, Y
на новых линиях строки, как короче всего получить два списка X
и Y
отдельно? Или, что то же - имея 1 список, как получить два списка с элементами на чётных и нечётных позициях?
"1 2\n3 4\n" -> [[1, 3], [2, 4]]
[1, 2, 3, 4] -> [[1, 3], [2, 4]]
Из 1 инпута можно получить второй через words
. Для второго инпута можно сделать
splitOnPos [] = [[], []]
splitOnPos (x1:x2:xs) = [x1:odds, x2:evens]
where [odds, evens] = splitOnPos xs
Но может можно как-то короче сделать для первого? Или укоротить решение для второго? Может быть как-то можно одновременно применить head
и last
после map words . lines
?
Источник: Stack Overflow на русском