将小列表组合成python中的大列表

时间:2016-11-03 11:16:46

标签: python list python-3.x extend

一个基本问题,但我无法以正确的方式去做。

我在for循环中生成4个小列表

emptylist=[]
for #some condition
  a=[1,2]
  b=[3,4]
  c=[7,8]
  d=[31,1]


  y=np.stack(a,b,c,d)
  emptylist.extend(y)

然后我生成接下来的4个小列表,我想连续添加到x

我想要一个单独的列表

emptylist=[(1,2),(3,4),(7,8),(31,1),......]

我想扩展列表'空列表'通过这种方式添加更多更小的列表

我没有上面的列表,但是像

这样的列表

emptylist=[array([1,2]),array([3,4])....]

关于我错在哪里以及如何处理它的任何建议

3 个答案:

答案 0 :(得分:1)

要获取列表列表,只需在列表中添加项目:

>>> a=[1,2]
>>> b=[3,4]
>>> c=[7,8]
>>> [a, b, c]  # adding list a, b, c within list
[[1, 2], [3, 4], [7, 8]]

如果您特定将嵌套结构设为tuple而不是list,则可以使用map()将其明确地类型转换为元组:

>>> list(map(tuple, [a, b, c]))
[(1, 2), (3, 4), (7, 8)]

答案 1 :(得分:0)

您也可以使用my_new_list = list((a,b,c,d))。 它对于快速理解和查找庞大的代码非常有用。与[a,b,c]相反,可以理解为(a,b,c)

答案 2 :(得分:0)

您应该使用非常简单的行将内部列表转换为元组。假设我们有任何列表l

l = [2,3,4,5]

tuple(l)       /*  The required statement*  /

输出结果为:(2,3,4,5)

通过使用此功能,您可以通过将每个内部列表转换为元组来轻松解决问题。