#python #assert
#python #утверждать
Вопрос:
Несмотря на то, что функция предварительной обработки возвращает список, ошибка утверждения возникает каждый раз
pre = n.preprocess("New York or Mumbai, choose of one these.")
j = []
for i in range(4):
##To check the data type
print("preprocess", type(pre[i]))
self.assertIs(pre[i], list)
Как я могу устранить эту ошибку?
Комментарии:
1.Зачем утверждать по идентичности? Вы пытаетесь утверждать, что
pre[i]
это примерlist
? ВидишьassertIsInstance
.2.
id(list)
противid([1,2,3])
, это не одно и то же3. Да, я пытаюсь утверждать
pre[i]
в качестве примераlist
. Я не утверждаю по идентичности, но я имеюpre
вtuple
видуlist
.
Ответ №1:
Из документации:
assertIs(first, second, msg=None)
assertIsNot(first, second, msg=None)
Test that first and second are (or are not) the same object.
Ваша переменная pre[i]
и встроенный тип list
данных — это не те же объекты (конечно, если вы не будете присваивать pre[i] = list
или что-то в этом роде). Вы должны использовать другой метод для сравнения, например,
assertIsInstance .