On Fri, 03 Jan 2014 20:18:06 -0500, Roy Smith wrote: > In article <mailman.4871.1388794533.18130.python-l...@python.org>, > Larry Martell <larry.mart...@gmail.com> 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, denismfmcma...@gmail.com -- https://mail.python.org/mailman/listinfo/python-list