Python .Как в условии if указать , что ключа словаря может не быть
Пытаюсь получить данные через api VK о пользователях, в одних случаях есть поле book , в другом нет, и компилятор ругается

Как в условии if прописать вариант когда нет этого атрибута?
vk = session.get_api()
l=vk.users.search(count=1000,sort=0,fields='books,can_write_private_message,music', city=159, sex=1, has_photo=True,birth_day=1,birth_month=12
)
for i in range(1000):
if len(l['items'][i]['book'])!=0:
print(f'{i} '+str(l['items'][i]['book']))
Ответы (3 шт):
Автор решения: DiMithras
→ Ссылка
Можно например через .keys() проверку делать:
if 'book' in l['items'][i].keys():
Do something
Автор решения: Andrei
→ Ссылка
Примерно так нужно делать:
d = {'Name': 'Vasia'}
# метод get возвращает значение по ключу
# если такого ключа нет возвращает None
if d.get('Name'):
print(d.get('Name'))
else:
print('Такого ключа не существует')
#---------------------------------------
for i in range(1000):
if l['items'][i].get('book'):
print(f'{i} '+str(l['items'][i].get('book')))
Автор решения: Vladislav Pavkin
→ Ссылка
Наличие ключа в словаре проверяется оператором in:
if 'book' in l['items'][i]:
pass
Либо not in:
if 'book' not in l['items'][i]:
pass