我在 groovy 中有一个这样的 3 级嵌套列表
rList = [[[12, name1],[22,name2],[49,name3]],[[33, name5],[22,name6],[21, name7]]]
如何迭代它以从第一个子列表中获取名称值
所以我想要
rsublist = [name1, name2, name3]
提前致谢。
最佳答案
rList = [[[12, 'name1'], [22, 'name2'], [49, 'name3']], [[33, 'name5'], [22, 'name6'], [21, 'name7']]]
names = rList[0]*.getAt(1)
assert names == ['name1', 'name2', 'name3']
一、
rList[0]
为您提供第一个子列表,即 [[12, name1], [22, name2], [49, name3]]
.然后,spread operator , *.
, 用于应用相同的方法, getAt(1)
, 到该列表的每个元素,这将返回一个包含子列表中每隔一个元素的列表,这是您要查找的值:)您也可以使用
rList[0].collect { it[1] }
这是等效的,如果您不习惯扩展运算符,可能会更熟悉。
关于collections - 从 groovy 中的嵌套列表中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10966177/