gpt4 book ai didi

scala - 如何用尾部映射列表项[Scala]

转载 作者:行者123 更新时间:2023-12-01 23:43:52 25 4
gpt4 key购买 nike

如何迭代地映射列表中的每一项及其剩余的尾部?伪代码示例:

val list = List(1,2,3,4) 
list.foreach((head, tail) => println(s"head= $head, tail= $tail"))
// head= 1, tail = List(2, 3, 4)
// head= 2, tail = List(3, 4)
// head= 3, tail = List(4)
// head= 4, tail = List()

最佳答案

最简单的方法似乎是旧的for -loop,它的优点是它为您插入了一个过滤步骤,因此您不会在 Nil 上崩溃遍历尾部时的情况:

for (h :: t <- (1 to 4).toList.tails) println(s"head: $h tail: $t")

给出:

head: 1 tail: List(2, 3, 4)
head: 2 tail: List(3, 4)
head: 3 tail: List(4)
head: 4 tail: List()

如果您实际上不需要 println -副作用,for-yield只会给你值。

关于scala - 如何用尾部映射列表项[Scala],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64595411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com