Обновление значения конкретного ключа в словаре, содержащегося в списке, для одного словаря в списке чаще, чем для всех словарей в списке - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть следующие переменные:

  • Список с именем word_frequencies, имеющий один и тот же словарь со всеми значениями 0 в каждой позиции списка.
  • Список с именем all_preprocessed_articles, в котором есть вектор, содержащий все слова из определенной статьи в каждой позиции списка. (Таким образом, len(word_frequencies) = len(all_preprocessed_articles))

Словарь представляет собой набор всех слов во всех статьях.

Я инициализировал элемент списка со всеми элементами словаря следующим образом:

word_frequencies = []

for word in vocab:
    temp_frequency_dict.update({word:0})

for i in range(0, num_articles): 
    word_frequencies.append(temp_frequency_dict)

С помощью следующего кода я собираюсь перебрать каждый вектор i в all_preprocessed_articles и изменить словарь i в списке word_frequencies для этого слова, добавив 1 к значению этого конкретного слова (ключа).

for i in range(0, num_articles):
    current_article = all_preprocessed_articles[i]
    for word in current_article:
        word_frequencies[i][word] += 1

В качестве вывода я ожидаю, что каждый словарь в word_frequencies показывает частоты для каждого слова в этой конкретной статье. Тем не менее, он выводит один и тот же словарь в каждой позиции в word_frequencies.

Что я могу сделать, чтобы на выходе был список со i словарями, в которых каждый словарь показывает вхождения в каждом слове в соответствующей статье?

...