У меня есть следующая проблема: У меня есть defaultdict, называемый word_count, содержащий слова и номер, как часто они встречаются. Я получаю это, посчитав ответ API Google Speech. Тем не менее, этот API возвращает мне такие вещи, как «\ 303 \ 266» для немецкой буквы «ö». Теперь я хочу, чтобы пройти через этот Словаре, испытание, если одна из этих вещей, показанных выше, есть и заменить его с правильной вещи, как это:Переименовать defaultdict ключ в Python
Заполнение defaultdict:
word_count = defaultdict(int)
for line in fileinput.input([file]):
line = line.strip()
words = line.split()
for word in words:
word_count[word] += 1
До сих пор она работает отлично , Я могу напечатать dict, и он получает мне слова с номером.
Теперь замена ключа:
for key,val in word_count:
if '\\303\\266' in key:
new = key.replace('\\303\\266', 'ö')
word_count[new] = word_count.pop(key)
Сейчас это не работает, я думаю, потому что я не могу поп (ключ), как он ожидает целое число. Как еще я это сделаю? Я попробовал несколько подходов, но, похоже, здесь ничего не работает.
Любая помощь была бы принята с благодарностью!
Решение:
Оказывается, это была моя вина, как я отсортировали Dict, и тем самым превратили его в список кортежей. Спасибо всем, кто помог мне понять это!
Любое продвижение по * "не работает" *? – jonrsharpe
'word_count.items()'? –
Как работает 'for key, val в word_count:'? Какая ошибка вы получаете? – ozgur