financial-assistant
20 строк · 684.0 Байт
1def rankTexts(dense_ids, sparse_ids):2text_ratings = {}3max_penalty = max(len(dense_ids), len(sparse_ids)) + 14
5for i, text_id in enumerate(dense_ids):6rating = i + 17if text_id in sparse_ids:8rating += sparse_ids.index(text_id) + 19rating /= 210else:11rating += max_penalty12text_ratings[text_id] = rating13
14for i, text_id in enumerate(sparse_ids):15if text_id not in text_ratings:16rating = i + 1 + max_penalty17text_ratings[text_id] = rating18
19sorted_texts = sorted(text_ratings.items(), key=lambda x: x[1])20return [text_id for text_id, rating in sorted_texts]21