-1
lst =[[1,2,'a'],[3,4,'b'],[5,6,'c'],[7,8,'d']]
result = [[1,3,5,7],[2,4,6,8],['a','b','c','d']]
我需要從lst獲得結果列表。有什麼辦法可以得到結果列表。不管嵌套列表的長度。如何從嵌套列表中提取元素,並將其附加到另一個列表中。
在此先感謝....
lst =[[1,2,'a'],[3,4,'b'],[5,6,'c'],[7,8,'d']]
result = [[1,3,5,7],[2,4,6,8],['a','b','c','d']]
我需要從lst獲得結果列表。有什麼辦法可以得到結果列表。不管嵌套列表的長度。如何從嵌套列表中提取元素,並將其附加到另一個列表中。
在此先感謝....
你應該使用這裏zip
:
>>> 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')]
在Python 3+,zip
返回發生器對象。爲了得到價值list
,你必須明確地類型強制轉換爲:
# 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']]
我相信縮進錯誤悄悄在你的代碼,當你它複製到答案,'res.append (temp)'應該在內部for循環之外。 –
@ juanpa.arrivillaga啊。是。謝謝你指出。編輯。 – Geetanjali