Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将每个列表的元素合并到一个数组中_Python_Python 2.7 - Fatal编程技术网

Python 将每个列表的元素合并到一个数组中

Python 将每个列表的元素合并到一个数组中,python,python-2.7,Python,Python 2.7,我有一张单子要说 A = [[[1], [2]], [[3], [4]], [[5], [6]], [[7], [8]], [[9], [10]], [[11], [12]]] 现在我想转换成这样的数组 A = [[1,3,5,7,9,11],[2,4,6,8,10,12]] 将每个列表的元素合并到一个数组中 My real data looks something like this, [[], []] [[], []]

我有一张单子要说

A = [[[1], [2]],
     [[3], [4]],
     [[5], [6]],
     [[7], [8]],
     [[9], [10]],
     [[11], [12]]]
现在我想转换成这样的数组

A = [[1,3,5,7,9,11],[2,4,6,8,10,12]]
将每个列表的元素合并到一个数组中

My real data looks something like this,
    [[], []]
    [[], []]
    [[], []]
    [[], []]
    [[], []]
    [[], []]
    [[2.9077100703958676, 2.907707020607246, 2.907696129398862, 2.9076922793200826], [1.5831895878032682, 1.5831799549447967, 1.5421635176438928, 1.54216257550671]]
    [[], [3.6722596549808784, 3.6722526678432876, 3.671068320950512, 3.6710584810218814, 1.4814967342403382, 1.4814744077628512, 1.158833238469524, 1.158820971788903]]
    [[], []]
    [[], []]
    [[], []]
    [[], []]
    [[], []]
    [[], []]
    [[], [11.161297964771585]]
    [[], []]
    [[], []]
    [[], []]
    [[], [1.7247699149091442, 1.7247456715167526, 1.3559139927513728, 1.3559021903808808]]
    [[], []]
    [[], []]
    [[0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5]]
    [[], []]
    [[], []]
    [[], []]
    [[], [53.3587073998281, 53.3587073998281]]
    [[], []]
    [[], []]
    [[], [73.51669471981023]]
    [[], [12.93677609502523, 12.936752858061059]]
    [[], [20.935136118658637]]
这是我打印变量时得到的


我们有什么办法可以做到这一点吗?

如评论中所述,您对A的定义无效

假设您的意思是A=[[1,2],[3,4],…],您可以这样做:

[[x[0][0] for x in A ], [x[1][0] for x in A]]
编辑:假设以下二维列表为原始答案:

>>> A = [[1,2],[3,4],[5,6],[7,8],[9,10],[11,12]]
>>> zip(*A)
[(1, 3, 5, 7, 9, 11), (2, 4, 6, 8, 10, 12)]
>>> [list(tuple) for tuple in zip(*A)]
[[1, 3, 5, 7, 9, 11], [2, 4, 6, 8, 10, 12]]

或者,如果它是

1。A不是如图所示的有效数据结构。2.这不是一个代码编写服务。这就是说,如果A实际上是一个列表列表,那么您可以执行maplambda t:sumt、[],zip*A…swing和miss。请用逗号。另外,如果你需要一个3D列表,你可以试试numpy。我不知道你叫它什么,等等,我会编辑我的question@jonrsharpe这是我的数据,我不知道你叫它什么,所以它实际上不是一个列表?类型会告诉你它是什么。在这种情况下,它更容易-maplist,zip*A。不,这是一个列表列表,我对此进行了调整,但看看你的真实数据,数组有时可能也是空的,这是你必须解释的。是的,这正是我要说的。对于你的真实数据,它会抛出一个索引超出范围的错误。如果我打印一个[0],那么我的真实数据中不会出现这样的错误。我得到了所有的第一列元素,所以我认为这与2D表示无关,如果A=[[[1]、[2]、[[3]、[4]、[[5]、[6]、[[7]、[8]、[[9]、[10]、[[11]、[12],它正确吗?@SakibAhammed这是你可以很容易发现的事情,当然?@jonrsharpe:我确实明白你想说什么?@SakibAhammed尽管有问号,但我不确定这是个问题。我的观点是,您可以将代码粘贴到解释器中,并测试所需的任何值,而不是询问它是否正常工作。
>>> A = [[1,2],[3,4],[5,6],[7,8],[9,10],[11,12]]
>>> zip(*A)
[(1, 3, 5, 7, 9, 11), (2, 4, 6, 8, 10, 12)]
>>> [list(tuple) for tuple in zip(*A)]
[[1, 3, 5, 7, 9, 11], [2, 4, 6, 8, 10, 12]]