例えば
training_set
[((1, 0, 0), 1), ((1, 0, 1), 1), ((1, 1, 0), 1), ((1, 1, 1), 0), [(1, 1, 10), 1]]
配列内の各行列の 2 番目の部分を抽出するにはどうすればよいですか? 1,1,1,0,1だけ?
例えば
training_set
[((1, 0, 0), 1), ((1, 0, 1), 1), ((1, 1, 0), 1), ((1, 1, 1), 0), [(1, 1, 10), 1]]
配列内の各行列の 2 番目の部分を抽出するにはどうすればよいですか? 1,1,1,0,1だけ?
リスト内包表記:
[d[1] for d in training_set]
マップを使用できます:
>>> 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)