On 12/15/2016 4:30 PM, Thomas Nyberg wrote:
On 12/15/2016 12:48 PM, Terry Reedy wrote:
On 12/15/2016 12:27 PM, Thomas Nyberg wrote:

I haven't dealt with a data structure exactly like this, but it's
basically a sparse array.

A sparse array has at least half missing values.  This one has none on
the defined domain, but contiguous dupicates.


I'm sorry for devolving into semantics, but there certainly isn't a
single definition of "sparse array" out there. For example, the
definition in wikipedia (https://en.wikipedia.org/wiki/Sparse_array)
doesn't agree with you:

I think it does ;-).

"In computer science, a sparse array is an array in which most of the
elements have the default value (usually 0 or null)."

Let's devolve to a memory-based language like C. An physical array consisting of sequential memory locations must have *some* bit pattern in every byte and hence in every multibyte block. If I remember correctly, C malloc initialized bytes to all 0 bits, which is an int value of 0 also. If there is no meaningful value, there must be a default value that means 'missing'. 0 may mean 'missing'. Null values are by definition non-values. Python uses None as a Null. If the example had been populated largely with Nones, I would have called it 'sparse'.

> Personally my usage of sparse arrays in scipy has _always_ had all
> defined values it's just that the default value was 0. I never deal
> with "missing" values.

Lucky you. In statistics and analysis of real, experimental data, missing values are often a possibility. They are always a nuisance, sometimes a major one. When the data are represented by arrays, rather than by some compacted form, some value has to be chosen to represent the absence of of data.

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to