У меня есть это:приращением defaultdict внутри списка понимания (Python)
self.lines = [...]
cnt = defaultdict(int)
for line in self.lines:
cnt[line] += 1
Теперь это работает. Но мне интересно, можно ли это сделать (увеличение количества отдельных строк в defaultdict) с помощью использования списка?
Это ошибка синтаксиса:
[cnt[line] += 1 for line in self.lines]
Кстати, почему не может использовать одно выражение, как это в пределах списка понимания? Это прямолинейно и значительно улучшило бы и краткость и производительность такого кода.
Почему, по вашему мнению, это улучшит производительность? Вам все равно нужно перебирать self.lines, и теперь вы ввели накладные расходы на создание списка, в котором у вас не было никого. И это не более красноречиво: вы продали двоеточие и новую линию для пары квадратных скобок. – chepner
@chepner, я добавил аналогичную заметку к моему ответу в то же время, когда вы написали свой;) – shx2