我如何只提取Python数组的第二个组件?

时间:2013-10-02 03:18:21

标签: python

E.g。

training_set
[((1, 0, 0), 1), ((1, 0, 1), 1), ((1, 1, 0), 1), ((1, 1, 1), 0), [(1, 1, 10), 1]]

如何在数组中提取每个矩阵的第二部分?只是1,1,1,0,1?

2 个答案:

答案 0 :(得分:12)

列表理解:

[d[1] for d in training_set]

答案 1 :(得分:3)

您可以使用地图:

>>> training_set=[((1, 0, 0), 1), ((1, 0, 1), 1), ((1, 1, 0), 1), ((1, 1, 1), 0), [(1, 1, 10), 1]]
>>> map(lambda t: t[-1], training_set)
[1, 1, 1, 0, 1]

如评论中所述:

>>> from operator import itemgetter
>>> item=itemgetter(-1)
>>> map(item, training_set)
[1, 1, 1, 0, 1]

>>> zip(*training_set)[1]
(1, 1, 1, 0, 1)