【发布时间】:2013-12-06 18:28:51
【问题描述】:
我有一个 np 数组 trainY 的元组。每个元组都是一组标签:
array([('php', 'image-processing', 'file-upload', 'upload', 'mime-types'),
('firefox',),
('r', 'matlab', 'machine-learning'),
('c#', 'url', 'encoding'),
('php', 'api', 'file-get-contents'),
('proxy', 'active-directory', 'jmeter'),
('core-plot',),
('c#', 'asp.net', 'windows-phone-7'),
('.net', 'javascript', 'code-generation'),
('sql', 'variables', 'parameters', 'procedure', 'calls')], dtype=object)
我想创建一个用作索引的 Dict 对象。键将是标签,值将是一个列表,其中包含每个键出现的行号:
例如;
键:值
'php': {[0,4]}
我目前的代码是:
label_index = {}
for i, labels in enumerate(trainY):
for label in labels:
if label in label_index.keys():
label_index[label].append(i)
else:
label_index[label] = [i]
是否有更快(可能是矢量化)的方式来编写代码?
谢谢!
【问题讨论】:
标签: python dictionary indexing