It would appear that in Python, list += x works for any iterable x:
In [6]: l = []
In [7]: l += [1]
In [8]: l += (2, 3)
In [9]:
It is now documented in Python 3.4+ and Python 2.7:
4.6.3. Mutable Sequence Types
The operations in the following table are defined on mutable sequence types. The
collections.abc.MutableSequenceABC is provided to make it easier to correctly implement these operations on custom sequence types.[Below]
sis an instance of a mutable sequence type,tis any iterable object andxis an arbitrary object that meets any type and value restrictions imposed bys(for example,bytearrayonly accepts integers that meet the value restriction0 <= x <= 255).
s.extend(t)ors += textends
swith the contents oft(for the most part the same ass[len(s):len(s)] = t)
So it is now documented that for any mutable sequence type s, s += t is synonymous with s.extend(t).