2013-09-05 2 views
2

Как получить список из массива массивов?Как получить список из списка списков

У меня есть список списков, например: [[1,2,3],[1,2,3],[1,2,3]].

Я хочу иметь Список, содержащий все первые элементы из моего списка.

Например, в моем примере, я хочу иметь list = [1,1,1].

+0

'[[1,2,3], [1,2,3], [1,2,3]]' является списком списков, а не Массив массивов (в Groovy) –

ответ

5

Если вы знаете, всегда есть список списков (т.е. внутренний список всегда существует), вы могли бы сделать это следующим образом:

def lists = [[1,2,3],[1,2,3],[1,2,3]] 
def result = lists.collect { it[0] } 
assert result == [1,1,1] 
+1

Или 'arrays * .getAt (0)' –

+0

Я использовал «массивы * .getAt (0)» и его ок. Спасибо. – Jils

+0

@Jils Возможно, вы должны согласиться с этим ответом, а не с моим :-) –

6

Если вы также можете получить второй/третий элементы каждый список, вы можете также использовать transpose:

def input = [[1,2,3],[1,2,3],[1,2,3]] 
def output = input.transpose() 

// All the lists are joined by element index 
assert output == [[1, 1, 1], [2, 2, 2], [3, 3, 3]] 

// Grab the first one (1,1,1) 
assert output[ 0 ] == [ 1,1,1 ] 
+0

Мне пока не нужно использовать его, но он отлично знает, как это сделать. спасибо – Jils

Смежные вопросы