Чтобы сделать "Оптимальный раскрой" из объектов квадратной формы - достаточно просто к каждой новой икс координате добавлять ширину объекта, и добавлять высоту для игрек при переходе на новый ряд
>>> cur.execute("""
... INSERT INTO some_table (an_int, a_date, a_string)
... VALUES (%s, %s, %s);
... """,
... (10, datetime.date(2005, 11, 18), "O'Reilly"))
Это один из создателей STL. Думаю что будет очень познавательно. Чтобы проникнуться "духом" STL.
Просто справочники вам не дадут этого "духа".