"Ned Batchelder" wrote in message news:44e067ce-f499-4ca8-87bd-94b18dfc0...@googlegroups.com...

On Friday, September 9, 2016 at 6:13:37 AM UTC-4, Frank Millman wrote:
> "Frank Millman"  wrote in message news:nqtlue$unj$1...@blaine.gmane.org...
>
> The one I was looking for was
>
>     a += (5, 6),
>
> I understand it now - makes perfect sense.

I'm curious why you are using a growing tuple, instead of a list.
This seems like a much more natural use for a list.


The short answer is that I am using it as a dictionary key.

However, from The Zen of Python -
   If the implementation is hard to explain, it's a bad idea.

Let's see if I can explain.

I am building a series of JOINs for a SQL statement. Some of them can be nested - table A is joined from table B is joined from table C. In other parts of the same SQL statement, table A could be joined from table D which is joined from table E.

For each potential candidate, I need to check if I have already built the JOIN. If so, just use it. If not, build it, and update a dictionary to indicate that it has been built.

The key to the dictionary is the path to the joined table, which could be several levels deep. I build up a tuple to represent the path. Each table needs two pieces of information to identify it, so I use a tuple for each identifier.

The value portion of the dictionary is simply the alias generated for the joined table. I use the alias in the body of the SQL statement.

I don't know if that explains it very well. I can supply more info if anyone is curious, or wishes to suggest a better approach.

Frank


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to