Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 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; просмотров: 213; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.006 с.) |