Это должно быть просто, но как единственный случайный пользователь python, борющийся с некоторым синтаксисом. Это работает:
def perms (xs):
for x in itertools.permutations(xs): yield list(x)
Но это не будет анализировать:
def perms (xs): for x in itertools.permutations(xs): yield list(x)
Есть ли ограничение на синтаксис однострочной функции? Определение тела (для...) может быть либо двумя, либо одной строкой само по себе, а def: может быть одной или двумя строками с простым телом, но объединение двух неудачных. Есть ли правило синтаксиса, которое исключает это?