2017-08-30 108 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]] 
相关问题