[Python-ideas] Add "default" kwarg to list.pop()

Antoine Pitrou solipsis at pitrou.net
Wed Oct 31 07:08:13 EDT 2018


On Wed, 31 Oct 2018 00:44:55 +0100
"Giampaolo Rodola'" <g.rodola at gmail.com>
wrote:
> Sorry in advance if this has been proposed in the past but I couldn't find
> anything on python-ideas:
> 
> >>> l = []
> >>> l.pop(default=1)  
> 1
> 
> FWIW my use case consists in reading entries from /proc/diskstats where
> lines can have a variable number of fields depending on the kernel version:
> https://github.com/giampaolo/psutil/issues/1354#issuecomment-434495870
> https://github.com/giampaolo/psutil/blob/d8b05151e65f9348aff9b58da977abd8cacb2127/psutil/_pslinux.py#L1068
> As such it would be convenient to set missing fields to 0 as "reads =
> fields.pop(default=0)" instead of catching IndexError every time. Extra:
> for consistency set.pop() should probably have the same.
> 
> Thoughts?

+1 from me.  dict.pop() already has an optional default.  This is a
straight-forward improvement to the API and no Python programmer will
be surprised.

Regards

Antoine.




More information about the Python-ideas mailing list