Steve Holden ha scritto: >>> What I do not fully understand is the line "self.tasks[:] = tasks". >>> Why does the guy who coded this did not write it as "self.tasks = >>> tasks"? What is the use of the "[:]" trick ? >> >> It changes the list in-place. If it has been given to other objects, >> it might require that. > > Nowadays it's stylistically better to write > > self.tasks = list(tasks) > > as it does just the same and makes it a little clearer what's going on > (though of course if tasks *isn't* a list it won't do *exactly* the same. > > regards > Steve
No: self.tasks = list(tasks) is the same of self.tasks = tasks[:], not a replacement for self.tasks[:] = tasks , the latter performing a different operation, i.e. resetting the list self.tasks 'in place' without assigning it a different list. -- http://mail.python.org/mailman/listinfo/python-list