LINUX.ORG.RU

История изменений

Исправление pawnhearts, (текущая версия) :

В питоне обращение к несуществующему ключу бросит исключение. Но можно делать items.get('categories', дефолтное_значение) это довольно часто используется, например, делаешь пустой список дефолтным значением и можешь с ним смело работать как со списком.

Ещё есть defaultdict, в котором дефолтное значение задается при инициализации словаря т.е. можно делать что-то типа

In [1]: from collections import defaultdict

In [2]: d = defaultdict(list)

In [3]: d['foo'].append('a')

In [4]: d
Out[4]: defaultdict(list, {'foo': ['a']})

вы не проверяете, не приехал ли к вам в данных от внешнего источника

Потому что это наколенный скрипт под вполне конкертные данные.

Исходная версия pawnhearts, :

В питоне обращение к несуществующему ключу бросит исключение. Но можно делать items.get('categories', дефолтное_значение) это довольно часто используется, например, делаешь пустой список дефолтным значением и можешь с ним смело работать как со списком.

Ещё есть defaultdict, в котором дефолтное значение задается при инициализации словаря т.е. можно делать что-то типа

In [1]: from collections import defaultdict

In [2]: d = defaultdict(list)

In [3]: d['foo'].append('a')

In [4]: d
Out[4]: defaultdict(list, {'foo': ['a']})