augmented assignments usually run faster the optimal technique is automatically chosen that isfor objects that support in-place changesthe augmented forms automatically perform in-place change operations instead of slower copies the last point here requires bit more explanation for augmented assignmentsinplace operations may be applied for mutable objects as an optimization recall that lists can be extended in variety of ways to add single item to the end of listwe can concatenate or call appendl [ [ [ append( [ concatenateslower fasterbut in place and to add set of items to the endwe can either concatenate again or call the list extend method: [ [ extend([ ] [ concatenateslower fasterbut in place in both casesconcatenation is less prone to the side effects of shared object references but will generally run slower than the in-place equivalent concatenation operations must create new objectcopy in the list on the leftand then copy in the list on the right by contrastin-place method calls simply add items at the end of memory block (it can be bit more complicated than that internallybut this description sufficeswhen we use augmented assignment to extend listwe can largely forget these details --python automatically calls the quicker extend method instead of using the slower concatenation operation implied by + +[ mapped to extend([ ] [ note howeverthat because of this equivalence +for list is not exactly the same as and in all cases--for lists +allows arbitrary sequences (just like extend)but concatenation normally does notl [ +'spam+and extend allow any sequencebut does not as suggested in we can also use slice assignment ( [len( ):[ , , ])but this works roughly the same as the simpler and more mnemonic list extend method assignment statements