#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 широко ссылается на словари и списки как содержащие «элементы»