Как удалить указанный элемент c из списка в scala? - PullRequest
0 голосов
/ 09 февраля 2020

Предположим,

Val L = List(“apple”, “d”, “ass1”, “110mac”)

Как удалить любое содержимое, появившееся во втором и третьем элементе списка?

Как и все внутри Второй и третий элементы всегда будут удалены.

Ответы [ 2 ]

2 голосов
/ 09 февраля 2020

Вы не можете изменить List, но вы можете создать новый, используя части старого:

val list = List(“apple”, “d”, “ass1”, “110mac”)

val list2 = list.take(1) ++ list.drop(3)

Обратите внимание, что это верно для случая, когда список содержит менее 4 элементов .

1 голос
/ 09 февраля 2020

Вы можете архивировать элементы с индексом, а затем удалять элементы по нужным индексам, как показано ниже:

val fruitList = List("apple", "orange", "banana", "apricot", "blueberry", "cherry")
val removeSet = Set(2,3) // This set contains indexes of fruits which should be removed from fruitList
val resultList = fruitList.zipWithIndex //zip fruits with indexes to get List[(fruit, index)]
.filter(x => !(removeSet.contains(x._2))) // filter List[(fruit, index)] to remove fruits present at indexes contained in removeSet
.map(_._1) // map List[(fruit, index)] to List[fruit]
println(resultList) // prints List(apple, orange, blueberry, cherry)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...