элемент или элемент, есть ли правило, как ссылаться на содержимое контейнера?

#python

#python

Вопрос:

Давайте возьмем случайный контейнер в Python (list, dict …), вы говорите, что в контейнере есть элементы или вы ссылаетесь на него как на элементы? Документация, похоже, предполагает, что члены есть только у наборов.

Ответ №1:

«Элементами» в Python обычно являются объекты, которые могут быть извлечены или изменены с помощью функций __getitem__() и __setitem__() , поэтому в списках и словарях есть элементы. Наборы, напротив, не реализуют __getitem__() и __setitem__() , поэтому в документации используется один из обычных терминов для обозначения членов набора (другим термином является «элемент»).

Ответ №2:

Я бы сказал, что содержимое (в конце концов, это то, что находится внутри контейнера ^ _^) относится ко всем из них, или элемент относится к определенному.

Я бы ограничил себя в использовании элементов для чего-либо отличного от (key,value) пар в словаре (как возвращено dict.items() ), чтобы избежать возможных недоразумений.

Но если вы посмотрите на конструктор list, вы можете прочитать:

список (повторяемый) -> новый список, инициализированный из элементов iterable

итак, я думаю, что item можно ссылаться на то, что дает любая итерация.

Взглянув на http://docs.python.org/library/stdtypes.html мы можем найти ссылки как на элемент, так и на item, например:

в частности, кортежи и списки сравниваются лексикографически путем сравнения соответствующих элементов. Это означает, что для сравнения equal каждый элемент должен сравниваться equal (…)

Что произошло, так это то, что [[]] представляет собой список из одного элемента, содержащий пустой список, поэтому все три элемента [[]] * 3 являются (указателями на) этот единственный пустой список (…)

и

Метод pop() поддерживается только типами list и array. Необязательный аргумент i по умолчанию равен -1, так что по умолчанию удаляется и возвращается последний элемент. (…)

cmp определяет пользовательскую функцию сравнения двух аргументов (элементов списка), которые (…)

но в общем количестве у элемента 54 появления, а у элемента всего 46.

Комментарии:

1. Не уверен насчет содержимого , и я знаю элементы из Perl. Но да, я также всегда вызывал пару ключ / значение в члене dict или элементе (взаимозаменяемо). Я не буду использовать термин члены для dicts, поскольку у них есть __getitem__() и __setitem__() , чего-то не хватает наборам. У наборов есть члены . Для всех других контейнеров я говорю элементы .

Ответ №3:

Документация Python широко ссылается на словари и списки как содержащие «элементы»