[Numpy-discussion] Shouldn't all in-place operations simply return self?

Nathaniel Smith njs at pobox.com
Thu Jan 17 01:41:29 EST 2013


On 16 Jan 2013 17:54, <josef.pktd at gmail.com> wrote:
> >>> a = np.random.random_integers(0, 5, size=5)
> >>> b = a.sort()
> >>> b
> >>> a
> array([0, 1, 2, 5, 5])
>
> >>> b = np.random.shuffle(a)
> >>> b
> >>> b = np.random.permutation(a)
> >>> b
> array([0, 5, 5, 2, 1])
>
> How do I remember if shuffle shuffles or permutes ?
>
> Do we have a list of functions that are inplace?

I rather like the convention used elsewhere in Python of naming in-place
operations with present tense imperative verbs, and out-of-place operations
with past participles. So you have sort/sorted, reverse/reversed, etc.

Here this would suggest we name these two operations as either shuffle()
and shuffled(), or permute() and permuted().

-n
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130117/e1ec6146/attachment.html>


More information about the NumPy-Discussion mailing list