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