Вы не используете ,
в списке понимание. Это прекрасно работает:
x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [i<6 for i in x]
print(y)
Возвращает [True, True, True, True, True, False, False, False, False]
Что ваш профессор учит вас list comprehension. Я люблю их. Кратко писать.
В качестве альтернативы, вы могли бы написать его так, что путь длиннее:
z = []
for i in x:
if i < 6:
z.append(True)
else:
z.append(False)
print(z)
вернуть бы [True, True, True, True, True, False, False, False, False]
Кстати, приведенный выше код может также быть написаны с стенографии, если еще синтаксис:
z = []
for i in x:
z.append(True) if i < 6 else z.append(False)
return z
В любом случае, вот более полное решение с модульным тестированием для вашего perus и др.
import unittest
def so_26923986(x):
y = [i < 6 for i in x]
return y
def so_26923986_1(x):
z = []
for i in x:
z.append(True) if i < 6 else z.append(False)
return z
Unit Test
# Unit Test
class Test(unittest.TestCase):
def testcase(self):
self.assertEqual(so_26923986([1, 2, 3, 4, 5, 6, 7, 8, 9]), [True, True, True, True, True, False, False, False, False])
self.assertEqual(so_26923986_1([1, 2, 3, 4, 5, 6, 7, 8, 9]), [True, True, True, True, True, False, False, False, False])
self.assertEqual(so_26923986([1, 2, 3]), [True, True, True])
self.assertEqual(so_26923986_1([1, 2, 3]), [True, True, True])
self.assertEqual(so_26923986([1, 2, 7, 10, 3, 8]), [True, True, False, False, True, False])
self.assertEqual(so_26923986_1([1, 2, 7, 10, 3, 8]), [True, True, False, False, True, False])
unittest.main()
Тест Передача
Ran 1 test in 0.000s
OK
вы не должны иметь запятую: 'у = [I <6 для я в х]' – Thibaut