list1 = [[1,'Rob','Ben', 'Ni', 'cool'],[2,'Jack','Jo','Raj','Giri'],[...]....]
list2 = [['20 May 2013',20],['25 May 2013',26],[...]....]
将有100条此类记录
我希望结果列表如
list1 = [[1, '20 May 2013', 20, 'Rob','Ben','Ni', 'cool'],[2,'25 May 2013', 26, 'Jack','Jo','Raj','Giri']]
任何建议?
答案 0 :(得分:3)
[list1, list2].transpose()*.flatten()
假设list1
和list2
的基数相同。
<强>更新强>
问题现在已大幅修改,但您可以通过扩展转置获得您想要的内容,如下所示:
[list1, list2].transpose()*.flatten()
.collect{[it[0], it[-2..-1], it[1..-3]]}*.flatten()
答案 1 :(得分:0)
这个怎么样?
def i = 0
def combined = list1.collect([]) { it + list2[i++] }
答案 2 :(得分:0)
结果行不是两个列表行的串联 - 它接受第二行并将其插入到第一行的索引1中,而不是最后两个元素。所以
[list1, list2].transpose()*.flatten()
不会起作用 - 这很酷:-)。然而,
[list1,list2].transpose().collect { def l = it.flatten(); l[0..0] + l[5..6] + l[1..2] }
将结果显示在问题中。我完全承认站在巨人的背后: - )