提取每个子列表的第一项我想知道在列表列表中提取每个子列表的第一项的最佳方法是什么,并将其附加到新列表。所以,如果我有: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
提交
取消