不断加入一个字符串列表到字符串
问题描述:
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]]
答
您可以使用下面的数据结构
List<ArrayList<Integer>>
- 首先填充元件
List<ArrayList<Integer>>
- 然后从i开始循环= 0,并添加我List.get的+ 1个元件(0) 和List.get(1)和在列表存储(0 )
- 重复相同的操作直至n-2。列表(n-1)和列表(n-2)元素将被加在一起 。
- 删除列表中的最后一个元素。 (基本上是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]]
答
下面是与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]]
这是Python的,对不对? – Divakar
不知道,但我回答了它的Java :) – nagendra547