使用每个元组的一个元素过滤Tuple3的Seq

Gui*_*ume 3 scala tuples seq

我有一个SeqTuple3元素.我想要一个Set由每个元组的第二个元素组成的结果集合(可能是a ).

例如

(a, b, c), (d, e, f), (g, h, i) ==> (b, e, h)
Run Code Online (Sandbox Code Playgroud)

任何的想法?我搜索了很多,但我发现所有与过滤元组有关,而不是在其中,如果这有任何意义.

我还是Scala的新手,学习是一个漫长的过程:)感谢您的帮助.

Ben*_*mes 6

根据你想要的描述,这是类型的一些功能Seq[(A, B, C)] => Set[B],你需要映射,而不是过滤.例如,

scala> Seq(('a', "foo", 1), ('b', "bar", 2)).map(_._2).toSet
res0: scala.collection.immutable.Set[java.lang.String] = Set(foo, bar)
Run Code Online (Sandbox Code Playgroud)