在Groovy中同时循环多个列表

6

我喜欢同时循环多个列表,代码如下:

def p = ["A", "B", "C"]
def q = ["d", "f", "g"]
for (x,y in p,q) {

   println x
   println y

}

我可以做如下操作:

我可以执行以下操作:

def p = ["A", "B", "C"]
def q = ["d", "f", "g"]
for (i=0; i<q.size(); i++) {

   println p[i]
   println q[i]

}

但我希望你能用之前的格式提供解决方案。有什么想法可以在Groovy中实现相同的功能吗?

我的回答解决了问题吗? - Opal
1个回答

14

你可以尝试使用 transpose

def p = ["A", "B", "C"];
def q = ["d", "f", "g"];
for (i in [p,q].transpose()) {
    println i[0]
    println i[1]
}

16
或者 [p,q].transpose().each { a, b -> println a ; println b } - tim_yates
1
@tim_yates 你应该把这个评论作为答案发布,这样我们就可以点赞了。 - pixel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接