financial-assistant

Форк
0
20 строк · 684.0 Байт
1
def rankTexts(dense_ids, sparse_ids):
2
    text_ratings = {}
3
    max_penalty = max(len(dense_ids), len(sparse_ids)) + 1
4

5
    for i, text_id in enumerate(dense_ids):
6
        rating = i + 1 
7
        if text_id in sparse_ids:
8
            rating += sparse_ids.index(text_id) + 1 
9
            rating /= 2 
10
        else:
11
            rating += max_penalty 
12
        text_ratings[text_id] = rating
13

14
    for i, text_id in enumerate(sparse_ids):
15
        if text_id not in text_ratings:
16
            rating = i + 1 + max_penalty
17
            text_ratings[text_id] = rating
18

19
    sorted_texts = sorted(text_ratings.items(), key=lambda x: x[1])
20
    return [text_id for text_id, rating in sorted_texts]
21

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.