On Fri, 03 Jan 2014 20:18:06 -0500, Roy Smith wrote:
> In article <[email protected]>,
> Larry Martell <[email protected]> wrote:
>
>
>> Thanks, but I know all that about dicts. I need to use a list for
>> compatibility with existing code.
>
> Generalizing what I think the situation is, "A dict is the best data
> structure for the parsing phase, but I need a list later to hand off to
> legacy interfaces".
>
> No problem. Parse the data using a dict, then convert the dict to a
> list later. I haven't been following all the details here, but just
> wanted to point out that using different data structures to hold the
> same data at different phases of a program is a perfectly reasonable
> approach.
Indeed, assuming the requirement is to have a list of some length n units
representing integer keys into a range of values from start to end, and
he creates a dict initially:
list = [ dict.get(x,None) for x in range(start,end + 1) ]
Examples:
>>> dic = {1:"fred", 9:"jim", 15:"susan", 25:"albert" }
>>> l = [ dic.get(x,None) for x in range(1,20) ]
>>> l
['fred', None, None, None, None, None, None, None, 'jim', None, None,
None, None, None, 'susan', None, None, None, None]
>>> l = [ dic.get(x,None) for x in range(-10,50) ]
>>> l
[None, None, None, None, None, None, None, None, None, None, None, 'fred',
None, None, None, None, None, None, None, 'jim', None, None, None, None,
None, 'susan', None, None, None, None, None, None, None, None, None,
'albert', None, None, None, None, None, None, None, None, None, None,
None, None, None, None, None, None, None, None, None, None, None, None,
None, None]
>>> len(l)
60
then the value of l[offset] will either be None or some string depending
on the offset into the list
--
Denis McMahon, [email protected]
--
https://mail.python.org/mailman/listinfo/python-list