Что было бы красивым способом отступать/форматировать строку в функции ниже? Или я не пытаюсь написать это как один лайнер?Форматирование длинных строк python
def rects_bound(rects):
""" Returns a rectangle that bounds all given rectangles
"""
return reduce(lambda (ax,ay,aw,ah), (bx,by,bw,bh): (min(ax,bx),
min(ay,by),
max(ax+aw, bx+bw),
max(ay+ah, by+bh)), rects)
или, может быть,
def rects_bound(rects):
""" Returns a rectangle that bounds all given rectangles
"""
return reduce(lambda (ax,ay,aw,ah),
(bx,by,bw,bh): (min(ax,bx), min(ay,by),
max(ax+aw, bx+bw), max(ay+ah, by+bh)),
rects)
Я обычно просто своего рода «получить творческий» в таких ситуациях, и я знаю, что, вероятно, нет «правильный» путь, я просто интересно ваше мнение и привычки.
-1 Ваша функция лямбды неправильно (см моего ответа) ... это перевешивает любые опасения по поводу длины линии и т.д. –
Простите? Мой вопрос был не в том, выполняет ли функция то, что она говорит, хотя вы правы, что это «неправильно». Мой вопрос был о том, как отформатировать это красиво. – noio
Вы просили мнения. У тебя есть. Исправьте структуру данных, если сможете. Напишите правильную функцию редуктора. Тогда волнуйтесь о длине линии. –