Русский
Открыть в Telegram

Пост Совет по Python: не используйте if для подсчёта элементов. Используйте defaultdict.

10 марта 2026
P
Python Portal
Фотография
Совет по Python: не используйте if для подсчёта элементов. Используйте defaultdict. У вас есть список элементов, и вы хотите узнать, сколько раз каждый элемент встречается в списке. Частый шаблон у начинающих выглядит примерно так: counts = {} for item in items: if item in counts: counts[item] += 1 else: counts[item] = 1 Это работает, но код довольно многословный и поэтому не очень по питонски. Лучший способ — использовать defaultdict из модуля collections. Вот как будет выглядеть код при использовании этого метода: from collections import defaultdict counts = defaultdict(int) for item in items: counts[item] += 1 defaultdict — это специальный тип словаря из модуля collections в Python. Ключевая идея в том, что он автоматически создаёт значение по умолчанию для ключей, которые ещё не существуют. В этом коде, когда мы пишем: counts = defaultdict(int) мы говорим Python, что если ключ отсутствует, нужно создать его и присвоить ему значение по умолчанию, возвращаемое int(), то есть 0. Это означает, что каждый новый ключ начинается с 0, и к нему добавляется 1, если элемент встречается более одного раза. Никакой инструкции if не требуется. Этот вариант намного лучше: он менее многословный, не требует ручных проверок и поэтому менее подвержен ошибкам. 👉 @PythonPortal
59 · 7.1K ·

Рядом в ленте

PPython PortalХочу взять себе этот ключ. Кто-то уже использует такой? Проверьте плиз, хочу убедиться, что этот не занят ещёPPython PortalИзбегайте использования IN с NULL Оператор IN относится к тем конструкциям, которые легко вносят тихие баги в запрос, если использовать его неправильно. Когда в
это сообщение
PPython Portal👉 @PythonPortalPPython PortalСтэнфорд уже давно доказал, что ChatGPT говорит вам, что вы правы, даже когда вы ошибаетесь. Даже когда вы причиняете кому-то вред. И из-за этого вы становитесь

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем