Python 如何从嵌套列表中提取元素,并将其附加到另一个列表中?

Python 如何从嵌套列表中提取元素,并将其附加到另一个列表中?,python,python-2.7,python-3.x,numpy,Python,Python 2.7,Python 3.x,Numpy,我需要从lst获取结果列表。有没有办法得到结果表。。不考虑嵌套列表的长度。您应该在此处使用: 在Python 3+中,zip返回生成器对象。要将值获取为列表,必须显式键入cast为: >>> lst =[[1,2,'a'],[3,4,'b'],[5,6,'c'],[7,8,'d']] # Python 2.7 >>> result = zip(*lst) >>> result [(1, 3, 5, 7), (2, 4, 6, 8), ('a

我需要从lst获取结果列表。有没有办法得到结果表。。不考虑嵌套列表的长度。

您应该在此处使用:

在Python 3+中,
zip
返回生成器对象。要将值获取为
列表
,必须显式键入cast为:

>>> lst =[[1,2,'a'],[3,4,'b'],[5,6,'c'],[7,8,'d']]

# Python 2.7
>>> result = zip(*lst)
>>> result
[(1, 3, 5, 7), (2, 4, 6, 8), ('a', 'b', 'c', 'd')]

我相信当您将代码复制到答案中时,缩进错误会潜入代码,
res.append(temp)
应该在内部for-loop之外。@juanpa.arrivillaga Ah。对谢谢你指出这一点。编辑。
>>> lst =[[1,2,'a'],[3,4,'b'],[5,6,'c'],[7,8,'d']]

# Python 2.7
>>> result = zip(*lst)
>>> result
[(1, 3, 5, 7), (2, 4, 6, 8), ('a', 'b', 'c', 'd')]
# In Python3+
>>> list(zip(*lst))
[(1, 3, 5, 7), (2, 4, 6, 8), ('a', 'b', 'c', 'd')]
listLen,listElemLen = len(lst), len(lst[0])
res = []
for i in range(listElemLen):
     temp = []
     for j in range(listLen):
        temp.append(lst[j][i])
     res.append(temp)
print(res) #[[1,3,5,7],[2,4,6,8],['a','b','c','d']]