gpt4 book ai didi

scala - 如何在scala中组合两个元组?

转载 作者:行者123 更新时间:2023-12-02 21:23:22 25 4
gpt4 key购买 nike

例如,我想组合两个元组

我的元组是:

(a,b)
(a,c)
(d,a)
(d,c)

我想要的组合为,

(a,b,c)                // Ist & IInd tuple
(a,b,d) // Ist & IIIrd tuple
(a,b,d,c) // Ist & IVth tuple
(a,c,d) // IInd & IIIrd tuple ( IInd & IVth is also same)

在这里,我首先将第一个元组与第二个元组、第三个元组以及最后一个元组组合起来。然后我将第二个元组与第三个元组和第四个元组组合起来。最后,我取出第三个元组并将其与剩余的最后一个元组合并。请记住,如果我们组合两个元组,如果出现相同的组合值,请删除重复的元组

最佳答案

如果你想要元组作为输出,那么元组是相当困难的。如果set就可以了:

scala> List(('a,'b), ('a,'c), ('d,'a), ('d,'c)).combinations(2).map(
y => y.flatten(_.productIterator).toSet).toSet

res42: scala.collection.immutable.Set[scala.collection.immutable.Set[Any]] =
Set(Set('a, 'b, 'c), Set('a, 'b, 'd), Set('a, 'b, 'd, 'c), Set('a, 'c, 'd))

关于scala - 如何在scala中组合两个元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26229177/

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