我具有接收3只列出一個函數而獲得的列表:用零填充從比較
DOC1:
[['ser', 'VSIS3S0', 1], ['francisco_villa', 'NP00000', 2], ['norte', 'NCMS000', 1], ['revolucion_mexicana', 'NP00000', 1], ['nombrar', 'VMP00SM', 1], ['centauro', 'NCMS000', 1]]
DOC2:
[['pintor', 'NCMS000', 1], ['ser', 'VSIS3S0', 1], ['muralista', 'AQ0CS0', 1], ['diego_rivera', 'NP00000', 1], ['frida_kahlo', 'NP00000', 1], ['caso', 'NCMS000', 1]]
CONSULTA:
[['ser', 'VSIP3S0', 1], ['francisco_villa', 'NP00000', 1], ['quien', 'NP00000', 1]]
功能:
def vectores(doc1,doc2,consulta):
res=[]
l1=[]
cont = 0
r = doc1 + doc2 + consulta
for i in r:
l1.append(i[0])
for e in doc1:
if e[0] in l1:
res.append(e[2])
else:
res.append(e[0]==0 * len(l1))
return res
[1, 2, 1, 1, 1, 1] -> res
我需要的,如果關鍵[0] DOC1的存在,在關鍵的比較[0] L1的,如果是追加鍵[2]的資源列表,,如果它們不匹配追加零在資源列表建設有lenght L1矢量
我想獲得一個輸出像這樣:[1, 2, 1, 1, 1, 1, 0, 0, 0, ...]
輸出向量的-The元素是列表的關鍵[2]值。 - 零將doc1的單詞不在l1中。 - 一旦我有願望輸出,我也想重複與doc2和consulta相同的程序。
預先感謝您! ;)
你可能想要重新配置,我不明白你想要做什麼。 –
因此,您無法獲取'res.append(e [0] == 0 * len(l1))'部分來將0放入列表中?你還沒試過res.append(0)? – taronish4
是的,我試過res.append(0),它不起作用cuz,len(doc1)比len(l1)小。我需要在沒有值的情況下len(res)等於len(l1)w/zeros。 – JPP