Похоже, что в Python list += x работает для любого итеративного x:
In [6]: l = []
In [7]: l += [1]
In [8]: l += (2, 3)
In [9]: l += xrange(5)
In [10]: l
Out[10]: [1, 2, 3, 0, 1, 2, 3, 4]
Является ли это поведение документированным где угодно?
Чтобы контрастировать это с list + x, последний работает только в том случае, если x также является list. Это описано в документации.