On Jan 15, 2008 10:10 AM,  <[EMAIL PROTECTED]> wrote:
>
> I've noticed that I can update() a set with a list but I can't extend a set
> with a list using the |= assignment operator.
>
>     >>> s = set()
>     >>> s.update([1,2,3])
>     >>> s
>     set([1, 2, 3])
>     >>> s |= [4,5,6]
>     Traceback (most recent call last):
>       File "<stdin>", line 1, in <module>
>     TypeError: unsupported operand type(s) for |=: 'set' and 'list'
>     >>> s |= set([4,5,6])
>     >>> s
>     set([1, 2, 3, 4, 5, 6])
>
> Why is that?  Doesn't the |= operator essentially map to an update() call?

No, according to 3.7 Set Types, s | t maps to s.union(t).

-- 
Neil Cerutti <[EMAIL PROTECTED]>
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to