Как «удалить» список из списка списков, а также элемент из списка? - PullRequest
0 голосов
/ 25 октября 2019

Мне нужно найти способ удалить список из списка списков, заданных определенным элементом для поиска. так, например, функция с именем «удалить список х» удалит список, содержащий х. Я пытаюсь использовать List.filter, но я понятия не имею, как это работает. Полная функция будет выглядеть так: если x в списке, то удалить список, если -x в списке, удалить элемент -x из списка. любая помощь или руководство?

Ответы [ 2 ]

2 голосов
/ 25 октября 2019

То, что вы можете сделать, это использовать сопоставление с шаблоном

, например, вы хотите удалить элемент из списка, поэтому в основном, когда этот элемент равен элементу деконструкции, которому вы соответствуете, вы возвращаете список без этого элемента. ..

Вы можете использовать функцию head для сохранения списка, который вы повторяете, и использовать «копию» этой функции в рекурсивной функции.

Вы пытались использовать абсолютное значение для -х вещь? Вы можете сделать быструю проверку на соответствие абсолютного значения в шаблоне

Удачи!

0 голосов
/ 25 октября 2019

Вы имеете в виду что-то вроде этого:

let lst = [[1;2;3;];[4;5;6;];[1;2;3;];[4;5;6];]
let ans = List.filter (fun l -> not(List.exists (fun x -> x = 5) l)) lst

ans is:

[[1; 2; 3]; [1; 2; 3]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...