Использование умолчания на Python

Ссылки в слова являются выгодным методом хранения информации для последующего восстановления по имени (ключу). Ключи должны быть единственными в своем роде, не меняющимися статьями и представлять собой обычные строки. Качества в словесной ссылке могут быть любыми. Для некоторых приложений эти качества являются простыми, например, целые числа и строки.

Тем более увлекательно, когда качества в слове “ссылка” – это накопления (записи, приказы и т.д.). Для этого необходимо ввести стоимость (пустая сводка или диктат), используя первый прогон по заданному ключу. В то время как физически это, как правило, просто сделать, тип диктата по умолчанию механизирует и улучшает такие задания.

Дефолт работает точно так же, как типичный диктат, однако, он устанавливается с помощью мощности (“установка по умолчанию”), которая не берет на себя никаких претензий и дает дефолту стимул к несуществующему ключу.

По умолчанию никогда не возникнет ошибка KeyError. Любой ключ, которого не существует, возвращает стоимость заводу-изготовителю по умолчанию.

>>> из коллекций импортировать по умолчанию

>>> ice_cream = defaultdict(lambda: ‘Vanilla’)

>>> 

>>> ice_cream = defaultdict(lambda: ‘Vanilla’)

>>> ice_cream[“Сара”] = “Обезьяна в лохмотьях”.

>>> ice_cream[‘Abdul’] = ‘Butter Pecan’.

>>> Печать ice_cream[‘Сара’]

Коренастая обезьяна

>>> Печать ice_cream[‘Joe’]

Ваниль

>>> 

Обязательно передайте статью о возможностях в функцию defaultdict(). Попробуйте не вызывать емкость, например defaultdict(func), а не defaultd.ict(func()).

В сопроводительной модели для подсчета используется умолчание. Завод-изготовитель по умолчанию – int, который, таким образом, имеет оценку по умолчанию в ноль. (Примечание: “лямбда: 0″ также будет работать в этом случае). Для каждого питания в сводке стоимость увеличивается на единицу, где ключом является питание. Мы не должны гарантировать, что питание является сейчас ключом – при этом будет использована оценка по умолчанию равная нулю.

>> из коллекций импортировать по умолчанию

>>> food_list = ‘спам спам спам спам спам яйца спам спам’.split()

>>> food_count = defaultdict(int) # значение по умолчанию int равно 0

>>> для еды в списке еды:

… food_count[food] += 1 # прирост значения элемента на 1

defaultdict(<тип ‘int’>, {‘eggs’: 1, ‘spam’: 7}))

>>> 

В следующем примере мы начнем со списка штатов и городов. Мы хотим построить словарь, где ключи – это аббревиатуры штатов, а значения – это списки всех городов этого штата. Чтобы построить этот словарь списков, мы используем пиктограмму по умолчанию с заводом-изготовителем списка по умолчанию. Для каждого нового ключа создается новый список.

>>> из коллекций импортировать по умолчанию

>>> city_list = [(‘TX’, ‘Austin’), (‘TX’, ‘Houston’), (‘NY’, ‘Albany’), (‘NY’, ‘Syracuse’), (‘NY’, ‘Buffalo’), (‘NY’, ‘Rochester’), (‘TX’, ‘Dallas’), (‘CA’, ‘Sacramento’), (‘CA’, ‘Palo Alto’), (‘GA’, ‘Atlanta’)].

>>> 

>>> city_by_state = defaultdict(list)

>>> для штата, город в списке City_list:

… cities_by_state[state].append(city)

для state, cities in cities_by_state.iteritems():

…состояние печати, ‘, ‘, ‘, присоединиться к (городам)

Нью-Йорк Олбани, Сиракузы, Буффало, Рочестер.

Калифорния Сакраменто, Пало-Альто

Атланта-ГАА

Ти-Экс Остин, Хьюстон, Даллас.