При решении одной из задач возникла необходимость подсчёта суммы элементов массива по срезам.
Ученик Фома представил следующее решение:
def solve1(A):
x = sum( [ i for i in A[ : : 2] if ( i % 2 == 0 ) ] )
y = sum( [ i for i in A[1 : : 2] if ( i % 2 == 1 ) ] )
return x, y
Учитель сказал, что решение можно сократить и "улучшить" удалением скобок []
Получилось:
def solve2(A):
x = sum( i for i in A[ : : 2] if ( i % 2 == 0 ) )
y = sum( i for i in A[1 : : 2] if ( i % 2 == 1 ) )
return x, y
Фома решил проверить так ли это.
А как думаете Вы?
- Решения одинаковые
- Решение Фомы быстрее
- Решение учителя быстрее