2017-08-30 105 views
2
x = [[1,2], [3,4], [5,6]] 

y = [i + a.pop(0) for i in a] 
print(y) 

我想,這樣它看起來就像不斷加入一個字符串列表到字符串

[[1,2,3,4], [3,4,5,6]] 
目前

什麼我得到創建一個循環,連接各列表中的下一個列表的下一個列表是

[4, 0, 4, 0], [2, 2, 4, 2]] 
+0

這是Python的,對不對? – Divakar

+0

不知道,但我回答了它的Java :) – nagendra547

回答

0

您可以使用下面的數據結構

List<ArrayList<Integer>> 
  1. 首先填充元件List<ArrayList<Integer>>
  2. 然後從i開始循環= 0,並添加我List.get的+ 1個元件(0) 和List.get(1)和在列表存儲(0 )
  3. 重複相同的操作直至n-2。列表(n-1)和列表(n-2)元素將被加在一起 。
  4. 刪除列表中的最後一個元素。 (基本上是n-1個元素)。

此代碼應該適合您。

List<ArrayList<Integer>> listArray = new ArrayList<>(); 

    ArrayList<Integer> list1 = new ArrayList<>(); 
    ArrayList<Integer> list2 = new ArrayList<>(); 
    ArrayList<Integer> list3 = new ArrayList<>(); 

    list1.addAll(Arrays.asList(1,2)); 
    list2.addAll(Arrays.asList(3,4)); 
    list3.addAll(Arrays.asList(5,6)); 

    listArray.add(list1); 
    listArray.add(list2); 
    listArray.add(list3); 

    for (int i= 0; i<listArray.size()-1; i++){ 
     listArray.get(i).addAll(listArray.get(i+1)); 
    } 

    listArray.remove(listArray.size()-1); 

    System.out.println(listArray); 

輸出 -

[[1, 2, 3, 4], [3, 4, 5, 6]] 
1

下面是與loop-comprehension一種方法 -

[x[i]+x[i+1] for i in range(len(x)-1)] 

樣品試驗 -

>>> x = [[1,2], [3,4], [5,6]] 
>>> [x[i]+x[i+1] for i in range(len(x)-1)] 
[[1, 2, 3, 4], [3, 4, 5, 6]] 

>>> x = [[1,2], [3,4], [5,6], [7,8], [9,10]] 
>>> [x[i]+x[i+1] for i in range(len(x)-1)] 
[[1, 2, 3, 4], [3, 4, 5, 6], [5, 6, 7, 8], [7, 8, 9, 10]] 
相關問題