代码:
def clean_linkids(link_ids, link2id):
link_ids = [ str(int(link)) for link in link_ids]
emb_ids = [link2id[link] if link in link2id else 0 for link in link_ids]
# emb_ids = [link2id[link] for link in link2id]
return emb_ids
代码:
def clean_linkids(link_ids, link2id):
link_ids = [ str(int(link)) for link in link_ids]
emb_ids = [link2id[link] if link in link2id else 0 for link in link_ids]
# emb_ids = [link2id[link] for link in link2id]
return emb_ids
link_ids是一个列表
link2id是一个字典
找到这个列表中的所有在字典中的值 ,没有就是0,返回一个列表
比如
列表a是[123, 456, 789]
link_ids = [ str(int(link)) for link in link_ids]这句话就是把列表转成字符串['123', '456', '789']
然后d是{'123': 1, '456': 4}
emb_ids = [link2id[link] if link in link2id else 0 for link in link_ids]这句话就是遍历列表如果字典中有这个key就把字典的值赋给数组没有就是0
结果[1, 4, 0]
没毛病