Thanks Chris for your idea.

Right now, I could not think of an example "non-trivial and simple and small enough" especially in the context of JSON. But maybe the other proponents have.


The part of data series from simulations (so proper datastructures available). So, data lists which aren't filled yet or have not filled till a certain amount yet I need some special pieces from them like the first, a sample, the 300th, etc. This was the case recently.


There was also the case of a refactoring going on in some project, where things changed from dicts to lists (upgrade of a third party lib, I think). As a consequence, I needed to blow up certain functions from n one-liners [a.get] to n four-liners [try/except].


If I had know that this would be relevant to this discussion, I would have written it down, but it's just the negative memory/experience.


Regards,
Sven


On 03.03.2017 21:16, Chris Barker wrote:
About JSON and schema-less data:

I need to deal with this fairly often as well, but:

JSON has a data model that includes both mappings and sequences:

Sequences (arrays, lists, etc) are the "right" thing to use when an object has zero or more of something. Usually, these somethings are all the same. So you may need to answer the question: how many somethings are there? but rarely: if there are less than this many somethings, then I should use a default value.

Mappings (objects, dicts) are the "right" thing to do when an object has a bunch of somethings, and each of them may be different and nameable. In this case, the if this name is in there, use its associated object, otherwise use a default" is a pretty common action.

so if your JSON is well formed (and I agree, being schema-less does not mean it is poorly formed) then it should already be using the appropriate data structures, and you are good to go.

That being said, maybe a concrete example would persuade the skeptics among us -- though I understand it may be hard to find one that is both non-trivial and simple and small enough to post to a mailing list...

-CHB








On Fri, Mar 3, 2017 at 12:09 PM, Chris Barker <chris.bar...@noaa.gov <mailto:chris.bar...@noaa.gov>> wrote:

    On Fri, Mar 3, 2017 at 12:02 PM, Sven R. Kunze <srku...@mail.de
    <mailto:srku...@mail.de>> wrote:

        For me to think (list/tuple).get() was needed would be if
        lots of folk either cast their lists to dicts or made their
        own list-dict class to solve that problem.

        The easier solution would be to provide list.get ;-)


    Exactly -- I think that was the point -- if there is a lot of
    custom code out there essentially adding a get() to a list -- then
    that would indicate that is is broadly useful.

    For my part, I think casting a list to a dict is often the RIGHT
    way to address these issues.

    -CHB


--
    Christopher Barker, Ph.D.
    Oceanographer

    Emergency Response Division
    NOAA/NOS/OR&R (206) 526-6959 <tel:%28206%29%20526-6959>   voice
    7600 Sand Point Way NE (206) 526-6329 <tel:%28206%29%20526-6329>   fax
Seattle, WA 98115 (206) 526-6317 <tel:%28206%29%20526-6317> main reception

    chris.bar...@noaa.gov <mailto:chris.bar...@noaa.gov>




--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov <mailto:chris.bar...@noaa.gov>

_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to