Pull to refresh

Comments 14

Терпеть не могла словари, когда только начала их изучать, но от ненависти до любви, как говорится... Очень мощный инструмент, спасибо за познавательную статью!!!

Согласно философии Python "должен существовать один и желательно только один очевидный способ сделать что-то".

По моему, из-за обилия библиотек, все это неактуально.

Дзен вообще штука интересная, его реализация на Python сама ему противоречит во многом. Да и придуман он был больше как шутка.

Этого одного достаточно, чтобы перестать слишком сильно о нем заморачиваться.

Не только из-за библиотек. Как видно из статьи и на чистом питоне без библиотек одно и то же можно написать обычно десятком разных способов.

Когда будет готов курс по алгоритмам ?)

Как только, так сразу.

Зря я сюда полез...

даже не пройдя до конца курс для начинающих

Теперь приведенный выше код следует идеологии EAFP-подхода (Easier to Ask Forgiveness than Permission) — "проще просить прощения, чем разрешения". Она, кстати, считается более Pythonic. Напомним, Pythonic — стиль кода, который соответствует идиомам Python, он читабельный и понятный.

Гвидо с вами не согласен:

I disagree with the position that EAFP is better than LBYL, or “generally recommended” by Python.

(источник цитаты)

То, что counter оптимизировали, это очень хорошо.

>>>выводит:

Counter({'a': 4, 'c': 3, 'b': 2, 't': 2, 'p': 1, 'y': 1})

>>>В последних версиях языка... стали упорядоченными.

Не вижу упорядоченности.

Хороший вопрос, насколько помню, что в 3.x ключи расположены в порядке их появления.
При этом
for i in letters: letter_counts[i]=letter_counts.get(i,0)+1
Дает ожидаемый результат
{'a': 4, 'b': 2, 'c': 3, 't': 2, 'p': 1, 'y': 1}

Есть предположение что в collections что-то намутили, но не смог найти что

А продолжение будет? Про сортированные словари? Вот это "под капотом" гораздо интереснее

Sign up to leave a comment.

Articles