Основы питон. #инструкция объявляющая переменную var и присваивающая ей значение равное 5
Скачать 262.43 Kb.
|
СловариСловари – это неупорядоченные коллекции пар "ключ-значение". В качестве ключей могут использоваться ссылки на хешируемые объекты, а в качестве значений - ссылки на объекты любого типа. Т.к. словари являются неупорядоченными коллекциями, то к ним не применяется понятие индекса элемента и не применяется операция извлечения среза. Хешируемые объекты – объекты, которые имеют метод __hash__() и могут участвовать в операциях сравнения на равенство с помощью метода __eq__(). Метод __hash__() возвращает одно и то же значение объекта на протяжении его жизненного цикла. Чтобы создать словарь можно использовать метод dict(): >>> d = dict(short='dict', long='dictionary') >>> print(d) {'short': 'dict', 'long': 'dictionary'} >>> d = dict([(1, 1), (2, 4)]) >>> print(d) {1: 1, 2: 4} В созданных выше словарях мы получили пары "ключ-значение", в частности ключ short и соответствующее ему значение dict. Также можно создать словарь следующим образом: >>> d = {} >>> print(d) {} >>> d = {'dict': 1, 'dictionary': 2} >>> print(d) {'dict': 1, 'dictionary': 2} Еще один способ - использовать метод fromkeys(): >>> d = dict.fromkeys(['a', 'b']) >>> print(d) {'a': None, 'b': None} >>> d = dict.fromkeys(['a', 'b'], 100) >>> print(d) {'a': 100, 'b': 100} Также можно использовать генератор словарей: >>> d = {a: a ** 2 for a in range(7)} >>> print(d) {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36} Как можно работать со словарями: >>> d = {1: 2, 2: 4, 3: 9} >>> print(d[1]) 2 >>> d[4] = 4 ** 2 >>> print(d) {1: 2, 2: 4, 3: 9, 4: 16} >>> d['1'] Traceback (most recent call last): File "", line 1, in d['1'] KeyError: '1' В первом случае мы обратились к ключу "1", после чего получили вывод на экран его значения "2". Затем мы создали новый ключ "4" и присвоили ему значение "16", после чего эта пара добавилась к нашему словарю. В последнем примере мы попробовали обратиться к несуществующему ключу, поскольку значение '1' стоит в кавычках, а значит это другой тип данных, которого нет в нашем словаре, после чего получили сообщение о том, что такого ключа нет. Методы для работы со словарямиМетоды вызываются по схеме: dict.method(). Ниже будут перечислены полезные методы для работы со словарями: clear() - очищает словарь >>> d = {'a': 1, 'b': 2} >>> d.clear() >>> print(d) {} copy() - возвращает копию словаря >>> d = {'a': 1, 'b': 2} >>> b = d.copy() >>> print(b) {'a': 1, 'b': 2} fromkeys(seq[,value]) - создает словарь с ключами из seq и значением value >>> d.fromkeys(['a', 'b'], 10) {'a' : 10, 'b' : 10} get(key[, default]) - возвращает значение ключа, но если его нет, возвращает default >>> d = {'a': 1, 'b': 2} >>> d.get('a') 1 items() - возвращает пары (ключ, значение) >>> d = {'a': 1, 'b': 2} >>> d.items() dict_items([('a', 1), ('b', 2)]) keys() - возвращает ключи в словаре >>> d = {'a': 1, 'b': 2} >>> print(d.keys()) dict_keys(['a', 'b']) pop(key[, default]) - удаляет ключ и возвращает значение. Если ключа нет, возвращает default >>> d = {'a': 1, 'b': 2} >>> d.pop('a') 1 >>> print(d) {'b': 2} popitem() - удаляет и возвращает пару (ключ, значение) с конца >>> d = {'a': 1, 'b': 2} >>> d.popitem() ('b', 2) >>> print(d) {'a': 1} setdefault(key[, default]) - возвращает значение ключа, но если его нет, создает ключ с значением default >>> d = {'a': 1, 'b': 2} >>> d.setdefault('e', 6) 6 >>> d.setdefault('f') >>> print(d) {'a': 1, 'b': 2, 'e': 6, 'f': None} update([other]) - обновляет словарь, добавляя пары (ключ, значение) из other. Существующие ключи перезаписываются >>> d = {'a': 1, 'b': 2} >>> d.update({'d':5}) >>> print(d) {'a': 1, 'b': 2, 'd': 5} values() - возвращает значения в словаре >>> d = {'a': 1, 'b': 2} >>> d.values() dict_values([1, 2]) |