Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Удаление элементов из Множества
Имеется несколько способов удаления элементов из существующего множества: · метод discard() принимает в качестве аргумента одиночное значение и удаляет это значение из множества, если этого значения в множестве нет, то ничего не произойдет: >>> a_set.discard(2) · метод remove() также принимает в качестве аргумента одиночное значение, и также удаляет его из множества, но в отличие от метода discard(), если в множестве нет элемента, то будет выработано исключение KeyError: >>> a_set.remove('a') · метод pop() удаляет из множества первый элемент и возвращает его значение: >>> a_set.pop() KeyError: 'pop from an empty set' С помощью метода pop() можно просмотреть все элементы множества: >>> while a_set: · метод clear() удаляет все элементы множества, создавая пустое множество: >>> a_set.clear() В логическом контексте пустое множество set() соответствует False, любое другое – True. Оглавление Сравнение и копирование множеств Python имеет несколько методов сравнения множеств: · метод isdisjoint() принимает в качестве аргумента другое множество и возвращает значение True, если множенства не имеют общих элементов: >>> a_set={1,2,5,6} · метод issubset() принимает в качестве аргумента другое множество и возвращает значение True, если каждый элемент данного множества содержится в другом множестве: >>> a_set.issubset({1,2,3,3,5,6}) · метод issuperset() принимает в качестве аргумента другое множество и возвращает значение True, если каждый элемент другого множества содержится в данном множестве: >>> a_set.issuperset({1,6}) Метод copy() используется для "поверхностного" копирования списков (см. раздел 4)): >>> b_set=a_set.copy() Оглавление Операции над множествами Python имеет несколько методов для выполнения основных операций над множествами: · метод union() (объединение) возвращает новое множество, содержащее все элементы каждого из множеств: >>> a_set={1,2,5,6,9}
метод симметричен, т.е. a_set.union(b_set)=b_set.union(a_set): >>> b_set.union(a_set) · метод intersection() (пересечение) возвращает новое множество, содержащее все элементы, которые есть и в первом множестве, и во втором: >>> a_set.intersection(b_set) метод симметричен; · метод difference() (разность) возвращает новое множество, содержащее все элементы, которые есть в множестве a_set, но которых нет в множестве b_set: >>> a_set.difference(b_set) этот метод не симметричен, поскольку a_set.difference(b_set) не равно b_set.difference(a_set): >>> b_set.difference(a_set) · метод symmetric_difference() (симметрическая разность) возвращает новое множество, которое содержит только уникальные элементы обоих множеств: >>> a_set.symmetric_difference(b_set) метод симметричен. Оглавление Словари Словари в языке Python имеют тип (класс) dict и представляют собой множество пар вида ключ:значение. Словари в языке Python похожи на ассоциативные массивы языка Jaxascript. Оглавление Создание словарей Для создания словаря в виде литерала необходимо поместить его элементы, заданные в виде пар ключ:значение и разделеные запятыми, в фигурные скобки: >>> a_dict={ 'alpha':1, 'beta':2, 'gamma':3} В качестве ключа необходимо использовать только неизменяемые (хэшируемые) типы: числа (целые и с плавающей точкой), строки, логические значения, кортежи, диапазоны и неизменяемые множества. В качестве значения могут быть заданы любые из рассмотренных типов, включая изменяемые множества и словари. >>> dict () если имеет, то для создания словаря могут быть использованы следующие варианты задания аргументов: · именованные аргументы, которые указываются в виде пар "имя=значение" (см. подраздел 1.1.2 лаб. раб. №6): >>> b_dict= dict (alpha=1, beta=2, gamma=3); · аргумент, имеющий тип словаря: >>> c_dict= dict ({ 'gamma':3, 'alpha':1, 'beta':2}); · аргумент итерабельного типа, например, список, элементами которого являются кортежи, содержащие ровно два элемента: первый из которых задает ключ словаря, а второй – значение:
>>> d_dict= dict ([('alpha',1), ('beta',2), ('gamma',3)]) Выше четырьмя разными способами были созданы словари a_dict(), b_dict(), c_dict() и d_dict(), имеющие одно и то же значение. Проверим это: >>> a_dict==b_dict==c_dict==d_dict Если ключи и значения словаря заданы последовательностями, то для создания словаря также можно использовать встроенную функцию zip(*iterable) (см. подраздел 8.1 лаб. раб. №1), которая возвращает итератор, элементами которого являются кортежи, где i-й кортеж содержит i-е элементы каждого аргумента последовательностей или итерабельных объектов. Если последовательности, явдяющиеся аргументами функции, имеют разную длину, то формируемые кортежи имеют число элементов, равное длине минимальной последовательности. Если указан один элемент – функция возвращает итератор, состоящий из одноэлементных кортежей. Если аргументы не указаны – возвращается пустой итератор. >>> key_list=[ 'a', 'b', 'c' ] Теперь с помощью функции zip(), аргументами которой являются последовательности key_list и value_tuple, создаем итератор с именем zipped: >>> zipped= zip (key_list, value_tuple), который имеет тип zip: >>> type (zipped) Остается только преобразовать его с помощью конструктора в словарь: >>> e_dict= dict (zipped) Следует сказать, что словари в настоящее время являются единственными представителями ABC-класса Mapping, объекты которого ставят в соответсвие неизменяемые значения произвольным объектам. Являются изменяемыми контейнерами типа Mapping: >>> import collections Для получения значения словаря по ключу нобходимо воспользоваться выражением: >>> a_dict[ 'beta' ] если указанный ключ отсутствует – возбуждается исключение KeyError: >>> a_dict[ 'delta' ] Чтобы получить все значения словаря следует использовать оператор for in: >>> for key in a_dict: Можно изменять значение ключа: >>> a_dict[ 'alpha' ]=11 и добавлять новые пары в словарь: >>> a_dict[ 'epsilon' ]=5 Для удаления ключа необходимо указать: >>> del a_dict[ 'alpha' ] Словари так же, как последовательности и множества поддерживают функцию определения числа элементов len() и оператор in, позволяющий определить принадлежность элемента контейнеру. Оглавление Методы словарей Словари поддерживают следующие методы: · clear() – очищает словарь, возвращая значение {}: >>> b_dict={1:101, 2:102, 3:103} Метод clear() поддерживается всеми изменяемыми классами данных; · copy() – возвращает ссылку на вновь созданный объект класса dict с теми же значениями (т.е. выполняет "поверхностное" копирование, см. раздел 4): >>> b_dict=a_dict.copy() Метод copy() поддерживается всеми изменяемыми классами данных; · get(key[, default]) – если словарь имеет ключ key, возращает его значение, если нет – возвращает значение, заданное вторым аргументом (значение по умолчанию):
>>> a_dict.get('gamma', 'new_key') · items() – возвращает элементы словаря в виде пар (key, value): >>> items=a_dict.items() · keys() – возвращает все ключи словаря: >>> a_dict.keys() · pop(key[, default) – если указанный ключ содержится в словаре, удаляет его из словаря и возвращает его значение, иначе возвращает значение по умолчанию. Если значение по умолчанию не указано и ключ не содержится в словаре, то возникает исключение KeyError: >>> a_dict.pop('gamma') · popitem() – удаляет и возвращает произвольную пару вида (key, value) из словаря; · setdefault(key[, default) – похож на метод get(), но если ключа нет в словаре – не только возвращает значение по умолчанию, но и устанавливает его: >>> a_dict.setdefault('delta', 4) · update([dict2]) – возвращает слияние элементов данного словаря и словаря, заданного аргументом (аргумент может быть задан: в виде именованных аргументов, в виде итерабельного типа или в виде словаря (см. описание конструктора dict() в подразделе 2.1): >>> b_dict={ 'figure': 'circle', 'color': 'green' } · values() – возвращает все значения словаря: >>> a_dict.values Оглавление Генераторы В литералах при создании списков, множеств и словарей помимо указания перечня их элементов (см. подразделы 2.1 лаб. раб. №3, 1.1 и 2.1) можно также указать генераторы элементов этих контейнеров. Оглавление
|
|||||||
Последнее изменение этой страницы: 2021-11-27; просмотров: 135; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.15.15 (0.027 с.) |