Size: a a a

2021 May 23

МО

Марк Обозов... in pro.python
Это был один из вариантов
источник

бт

брайтстоун тселдор... in pro.python
ну вот у меня вполне читабельно получилось
источник

МО

Марк Обозов... in pro.python
Плюс, я написал что криво и лучше использовать collections
источник

SD

Sergey D in pro.python
Согласен. Но ценность тех же list comprehensions не в том что они укладываются в строку, а в том что они более декларативны
источник

бт

брайтстоун тселдор... in pro.python
Я думаю, что тут имелось ввиду, что зачастую такие вещи как раз таки укладываются в одну строку)
источник

SD

Sergey D in pro.python
Опять же, если человек не может на обычном форе написать решение такой задачи, стоит ли ему советовать Counter? Мне кажется, что не стоит
источник

F

Frank in pro.python
Поидеи у меня написано тоже самое что и в вашем коде, но выдает ошибку
источник

F

Frank in pro.python
a = "Машина яхта квартира машина человек"
c =''
c = a.split()
q = {}
x = 0
z = 0
for i in c:
   q[i] += 1
   print(q)
источник

F

Frank in pro.python
ошибка -KeyError: 'Машина'
источник

SD

Sergey D in pro.python
А я имел в виду, что не нужно делать это самоцелью и выделять в отдельный навык.
источник

бт

брайтстоун тселдор... in pro.python
У вас словарь пустой задан, вот он и не может найти в нем ключ 'машина'
источник

бт

брайтстоун тселдор... in pro.python
заполните словарь словами, которые хотите подсчитать и потом каждый раз перед прибавлением единички, проверяйте, находится ли слово среди ключей словаря
источник

SD

Sergey D in pro.python
Проверяй есть ли слова в словаре. Если нет — инициализируй единицей, если есть — увеличивай на 1
источник

МО

Марк Обозов... in pro.python
Да, это не должно быть самоцелью, однако в некоторых случаях решения в одну строку являются более точными.
источник

SD

Sergey D in pro.python
Ну или заполняй словарь ключами заранее, как посоветовали выше — зависит от задачи
источник

F

Frank in pro.python
как же в словаре нет ничего я в форе туда i положил и в словаре теперь есть ключи из слов текста
источник

SD

Sergey D in pro.python
d[x] += n это значит возьми по ключу значение из словаря и прибавь к нему n. До цикла у тебя в словаре нет ни значений, ни ключей. Поэтому тебе нужно либо задать ключи  и начальные значения (до цикла), либо делать проверку на их наличие уже в самом цикле
источник

МО

Марк Обозов... in pro.python
Для решения этой проблемы можно использовать fromkeys. Данная функция создаёт новый словарь с ключами из итерабельной последовательности и значениями установленными в value.
источник

F

Frank in pro.python
Вот что получилось
источник

F

Frank in pro.python
a = "Машина яхта квартира машина человек"
c =''
c = a.split()
q = {}.fromkeys(c, 0)
for i in c:
   q[i] += 1
   print(q)
источник