Казалось бы, по крайней мере одно из ваших display_name
значений равно None.
Когда вы используете ключевое слово in
в этом случае, вы ищете что-то in None
, которое выдаетисключение.
В зависимости от того, как вы хотите обработать этот случай, вы можете проверить, существует ли значение, прежде чем пытаться добавить.
for user in users:
if user and user['display_name'] and query in user['display_name']: # probably extract this check into a helper
result_set.append(user)
Я бы выделил логическую логику в отдельный метод:
def is_query_match(user, query):
if user and user['d'] and query in user['d']:
return True
return False
Таким образом, вы можете использовать:
for user in users:
if is_query_match(user, query):
result_set.append(user)