我有一个这种类型的字符串列表:
list = ['AB-000 Some text', 'AB-003 Some other text', 'AB-004 Some more text']
如何枚举此列表(使用Groovy),即获取以下内容:
list = ['1. AB-000 Some text', '2. AB-003 Some other text', '3. AB-004 Some more text']
答案 0 :(得分:2)
您可以执行以下操作:
list.withIndex().collect{ it, index -> "${index + 1}. ${it}" }
更新: (由https://gist.github.com/michalbcz/2757630提供)
或者您可以看中并实际定义collectWithIndex
方法:
List.metaClass.collectWithIndex = { yield ->
def collected = []
delegate.eachWithIndex { listItem, index ->
collected << yield(listItem, index)
}
return collected
}
result = list.collectWithIndex { it, index -> "${index + 1}. ${it}" }
答案 1 :(得分:1)
或者您可以使用indexed
并将其开头的数字传递给
list.indexed(1).collect { idx, s -> "$idx. $s" }