why does list's .remove() does not return an object?

Ned Batchelder ned at nedbatchelder.com
Thu May 17 10:55:29 EDT 2018


On 5/17/18 4:23 AM, Abdur-Rahmaan Janhangeer wrote:
> if then a more convenient way might be found to naturally remove and 
> return the list
>
> maybe it was not included as one might want to remove the list only
>
> x = [1]
> x.remove(1)
>
> as opposed to
>
> x = [1]
> x.remove(1)
> new_list = x
>
> i was looking for like
>
> x = [1]
> x.remove(1).return()

I don't understand what this would return? x? You already have x. Is it 
meant to make a copy? x has been mutated, so I don't understand the 
benefit of making a copy of the 1-less x.  Can you elaborate on the 
problem you are trying to solve?

--Ned.

(PS: bottom-posting (adding your response below the text you are 
responding to) will make the conversation easier to follow...)

>
> ps. list is was demo illustrative var
>
> Abdur-Rahmaan Janhangeer
> https://github.com/Abdur-rahmaanJ
>
> On Thu, 17 May 2018, 07:01 Ned Batchelder, <ned at nedbatchelder.com 
> <mailto:ned at nedbatchelder.com>> wrote:
>
>     On 5/16/18 10:41 PM, Abdur-Rahmaan Janhangeer wrote:
>     > why is x = list.remove(elem) not return the list?
>     >
>     >
>     Methods in Python usually do one of two things: 1) mutate the
>     object and
>     return None; or 2) leave the object alone and return a new
>     object.  This
>     helps make it clear which methods mutate and which don't. Since
>     .remove
>     mutates the list, it returns None.
>
>     --Ned.
>     -- 
>     https://mail.python.org/mailman/listinfo/python-list
>




More information about the Python-list mailing list