我有一个接收 3 个列表的函数:
文档1:
[['ser', 'VSIS3S0', 1], ['francisco_villa', 'NP00000', 2], ['norte', 'NCMS000', 1], ['revolucion_mexicana', 'NP00000', 1], ['nombrar', 'VMP00SM', 1], ['centauro', 'NCMS000', 1]]
文档2:
[['pintor', 'NCMS000', 1], ['ser', 'VSIS3S0', 1], ['muralista', 'AQ0CS0', 1], ['diego_rivera', 'NP00000', 1], ['frida_kahlo', 'NP00000', 1], ['caso', 'NCMS000', 1]]
咨询:
[['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
我需要比较 doc1 的 key[0] 是否存在于 l1 的 key[0] 中,如果存在,则将 key[2] 添加到 res 列表中,如果它们不匹配,则将零添加到 res 列表中,使用长度 l1
我想得到这样的输出:[1, 2, 1, 1, 1, 1, 0, 0, 0, ...]
- 输出向量的元素是列表的键[2] 值。- 零是 doc1 的单词不在 l1 中。- 一旦我有了想要的输出,我还想用 doc2 和 Consulta 重复相同的过程。
先感谢您!;)