Building a dict from a tuple of tuples

vsoler vicente.soler at gmail.com
Sat Feb 20 16:25:53 EST 2010


On Feb 20, 8:54 pm, MRAB <pyt... at mrabarnett.plus.com> wrote:
> vsoler wrote:
> > On Feb 20, 7:00 pm, MRAB <pyt... at mrabarnett.plus.com> wrote:
> >> vsoler wrote:
> >>> Hello everyone!
> >>> I have a tuple of tuples, coming from an Excel range, such as this:
> >>> ((None, u'x', u'y'),
> >>> (u'a', 1.0, 7.0),
> >>> (u'b', None, 8.0))
> >>> I need to build a dictionary that has, as key, the row and column
> >>> header.
> >>> For example:
> >>> d={ (u'a',u'x'):1.0, (u'a',u'y'): 7.0, (u'b',u'y'):8.0 }
> >>> As you can see, if the value in the matrix is None, no key has to be
> >>> added to the dictionary.
> >>> Of course, my tuple of tuples is a lot bigger.
> >>> How can I possibly do this?
> >>> Thank you
> >> Does this help?
>
> >> matrix = ((None, u'x', u'y'),
> >> (u'a', 1.0, 7.0),
> >> (u'b', None, 8.0))
>
> >> for row in matrix[1 : ]:
> >>      for col, val in zip(matrix[0][1 : ], row[1 : ]):
> >>          print row[0], col, val
>
> > and the dictionary?
>
> > it is the ultimate goal of what I am intending...
>
> > Thank you
>
> The difficult bit is working out how to produce the keys and values for
> the dict from the tuple of tuples, and I've shown you that. The rest is
> straightforward.

I'll try. Thank you very much MRAB



More information about the Python-list mailing list