Building a dict from a tuple of tuples

2010-02-20 Thread vsoler
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
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Building a dict from a tuple of tuples

2010-02-20 Thread MRAB

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
--
http://mail.python.org/mailman/listinfo/python-list


Re: Building a dict from a tuple of tuples

2010-02-20 Thread vsoler
On Feb 20, 7:00 pm, MRAB pyt...@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
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Building a dict from a tuple of tuples

2010-02-20 Thread MRAB

vsoler wrote:

On Feb 20, 7:00 pm, MRAB pyt...@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.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Building a dict from a tuple of tuples

2010-02-20 Thread vsoler
On Feb 20, 8:54 pm, MRAB pyt...@mrabarnett.plus.com wrote:
 vsoler wrote:
  On Feb 20, 7:00 pm, MRAB pyt...@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
-- 
http://mail.python.org/mailman/listinfo/python-list