Это мой подход до сих пор:
results = [for number in range(1,1001) max([divisor for divisor in range(1,10) if number % divisor == 0])]
За исключением того, что я не могу понять, почему это не работает.Все ответы были бы прекрасны, спасибо!
Порядок, в котором вы используете списки, неверен.Используйте
results = [max([divisor for divisor in range(1,10) if number % divisor == 0]) for number in range(1,1001) ]
Синтаксис:
[ expression for item in list if conditional ]
Источник: http://www.pythonforbeginners.com/basics/list-comprehensions-in-python