Одна из причин, по которой я люблю Python - это выразительная мощь/уменьшенное программирование, обеспечиваемое кортежами, списками, наборами и словарями. Как только вы поймете списки и некоторые основные шаблоны, используя in
и for
, жизнь станет намного лучше! Питон качается.
Однако мне непонятно, почему эти конструкции обрабатываются так же, как они, и как это меняется (становится незнакомым) с течением времени. Вернувшись в Python 2.x, я мог бы привести аргумент, что все они были просто вариациями базового типа коллекции, и это было отчасти раздражающим, что некоторые неэкзотические варианты использования требуют, чтобы вы преобразовали словарь в список и обратно очередной раз. (Разве словарь не является просто списком кортежей с определенным ограничением уникальности? Разве список не является просто набором с другим видом ограничения уникальности?).
Теперь в мире 3.x все стало сложнее. Теперь есть именованные кортежи - они начинают больше походить на специальный словарь. Теперь есть упорядоченные словари, которые начинают больше походить на список. И я только что увидел рецепт заказанных наборов. Я могу представить, что это происходит и продолжается... как насчет уникальных списков и т.д.
Дзен Python говорит: "Должен быть one-- и, предпочтительно, только один --obvious способ сделать это". Мне кажется, что это изобилие типов специализированных коллекций находится в противоречии с этой заповедью Python.
Что думают хардкорные Pythonistas?