On Sat, Jun 13, 2015 at 10:02 AM, <[email protected]> wrote:
>> >>> ints = [0, 1, 2, 2, 1, 4, 6, 5, 5]
>> >>> ints[:] = [i for i in ints if not i % 2]
>> >>> ints
>> [0, 2, 2, 4, 6]
>>
>>
>> --
>> Terry Jan Reedy
>
> On the second line of your final solution, is there any reason you're using
> `ints[:]` rather than just `ints`?
If you use "ints = [...]", it rebinds the name ints to the new list.
If you use "ints[:] = [...]", it replaces the entire contents of the
list with the new list. The two are fairly similar if there are no
other references to that list, but the replacement matches the
mutation behaviour of remove().
def just_some(ints):
ints[:] = [i for i in ints if not i % 2]
ChrisA
--
https://mail.python.org/mailman/listinfo/python-list