A simpler solution is to just use None, which gets automatically converted to an hline by org-babel:
#+BEGIN_SRC python :return mytable
NROWS, NCOLS = 6, 4
mytable = []
mytable.append(['A', 'B', 'C', 'D']) # Table header
mytable.append(None) # hline
for irow in range(NROWS):
mytable.append([icol**irow for icol in range(NCOLS)])
mytable.append(None) # hline
#+END_SRC
#+RESULTS:
| A | B | C | D |
|---+---+----+-----|
| 1 | 1 | 1 | 1 |
| 0 | 1 | 2 | 3 |
| 0 | 1 | 4 | 9 |
| 0 | 1 | 8 | 27 |
| 0 | 1 | 16 | 81 |
| 0 | 1 | 32 | 243 |
|---+---+----+-----|