Member 14070756 Ответов: 2

Я не уверен, как написать эту программу для редактирования словаря на Python


Поэтому я должен написать программу, которая начинается с двух параметров: словаря и значения int. Словарь содержит слова в виде ключей и ints в виде значений, которые представляют количество раз, когда они появляются в тексте. Я должен обновить словарь, чтобы включить наиболее частые слова, не передавая параметр threshold int. Если слова имеют одинаковую частоту и суммируются вместе, то они должны быть проигнорированы. Я вообще не могу использовать сортировку.

Что я уже пробовал:

occurence_dict = {}
    e = [(k, v) for k, v in dictionary.items()]
    e = sorted(e, key=getKey, reverse=True)
    i = 0
    for item in e:
        if item[1] + i < count:
            if e.index((item[0], item[1])) != len(e) - 1:
                if item[1] == e[e.index((item[0], item[1])) + 1][1]:
                    h = -item[1]
                    for itm in e:
                        if itm[1] == item[1]:
                            h += itm[1]
                    if h + i <= count:
                        occurence_dict[item[0]] = item[1]
                        i += item[1]
            elif e.index((item[0], item[1])) != len(e) - 1:
                if item[1] != e[e.index((item[0], item[1])) + 1][1]:
                    occurence_dict[item[0]] = item[1]
                    i += item[1]
    return occurence_dict

CPallini

Я не понял ваших требований. Не могли бы вы уточнить?

2 Ответов

Рейтинг:
1

Richard MacCutchan

Разделите проблему на отдельные части. Сначала найдите все слова с одинаковой частотой и посмотрите, проходят ли они порог. Если да, то удалите их из словаря. Затем найдите оставшиеся слова, которые проходят порог, и удалите их.


Рейтинг:
0

OriginalGriff

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!