提取每個子列表的第一項我想知道在列表列表中提取每個子列表的第一項的最佳方法是什么,并將其附加到新列表。所以,如果我有:lst = [[a,b,c], [1,2,3], [x,y,z]]我想退出a,1并x從那些創建一個單獨的列表。我試過了:lst2.append(x[0] for x in lst)
3 回答

jeck貓
TA貢獻1909條經驗 獲得超7個贊
你可以使用zip:
>>> lst=[[1,2,3],[11,12,13],[21,22,23]]>>> zip(*lst)[0](1, 11, 21)
或者,Python 3 zip
不生成列表:
>>> list(zip(*lst))[0](1, 11, 21)
要么,
>>> next(zip(*lst))(1, 11, 21)
或者,(我最喜歡的)使用numpy:
>>> import numpy as np>>> a=np.array([[1,2,3],[11,12,13],[21,22,23]])>>> a array([[ 1, 2, 3], [11, 12, 13], [21, 22, 23]])>>> a[:,0]array([ 1, 11, 21])
添加回答
舉報
0/150
提交
取消