gpt4 book ai didi

kotlin - 将列表转换为不同的列表和映射索引

转载 作者:行者123 更新时间:2023-12-02 08:02:04 26 4
gpt4 key购买 nike

我有一个对象列表,我想将其转换为一个不同的列表,同时将所有索引映射到新索引。

示例:

列表:[“a”,“b”,“a”,“d”] -> [“a”,“b”,“d”]

map :

{
0: 0, //0th index of original list is now 0th index of distinct list
1: 1,
2: 0, //2nd index of original list is now 0th index of distinct list
3: 2 //3rd index of original list is now 2th index of distinct list
}

是否有一种简单的方法可以使用单行代码或 kotlin 中相当简单的解决方案来实现此目的?

最佳答案

下面的表达式可以做到这一点:

val p = listOf("a", "b", "a", "d").let {
val set = it.distinct().mapIndexed { i, v -> v to i }.toMap()
it.mapIndexed { i, v -> i to set.getValue(v) }
}.toMap()

关于kotlin - 将列表转换为不同的列表和映射索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55345257/

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