Как отобразить количество слов относительно длины слова (последовательно, т.е. упорядоченно), используя Python3? - PullRequest
1 голос
/ 25 января 2020

Здесь я использую словарь для разделения ключа и значений для отображения длины слова и счетчика, связанного с указанным c текстовым файлом. Но здесь я хотел, чтобы выходные данные отображали длину слова последовательно от 1 до N (в одном столбце) и соответствующий счетчик (в соседнем столбце), связанный с ним.

Использование dict()=dict.get()+1 Мне удалось отобразить как длину слова, так и количество слов, но он не печатается последовательно, так как я хочу, чтобы количество слов было равно 0 для длины слова, которая не существует в текстовом файле.

Например: - для максимальной длины слова 5 и длины слова 4 не существует, он все равно должен последовательно отображать 4 в столбце длины слова с количеством 0 в столбце счетчика, кроме него.

Я робот

Word Length      Word Count
 1                 2
 2                 1
 3                 0
 4                 0
 5                 1

Предпочитал не использовать счетчик пакетов или даже регулярные выражения.

1 Ответ

1 голос
/ 25 января 2020

Попробуйте использовать map и словарь:

s = 'I am a Robot'
l = list(map(len, s.split()))
print({k: l.count(k) for k in range(1, max(l) + 1)})
...