Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Ошибка NoneType is not iterable в цикле

#python #list #null


В цикле выводит ошибку:


  TypeError: argument of type 'NoneType' is not iterable


Пытался исправить так:

if None in listUsers:
    listUsers.remove(None)
for user in listUsers:
    adj[user] = getFriends(user)


Ошибка остаётся прежней, но уже в строке с условием. Как это можно исправить?
    


Ответы

Ответ 1



Попробуйте заменить весь код из вопроса на следующий: adj = {user:getFriends(user) for user in listUsers if user} if listUsers else {}

Ответ 2



Вероятно у вас в прежнем коде случилось, что listUsers is None. Чтобы проверить это, напишите на консоли Питон: listUsers = None None in listUsers и на выводе вы получите TypeError: argument of type 'NoneType' is not iterable Значит, что вы нужны или применить тест перед вашим кодом (if listUsers is not None:) или использовать другой подход (например как в соседнем ответе).

Комментариев нет:

Отправить комментарий