Will this order at least be the same for that same query every time the
script is executed?

I wouldn't count on it. The order is only defined for the one iteration (result of the keys() call). If the order matters, I'd suggest a double-dispatch with a non-dict (regular/default) query result, something like

  header_map = dict(
    (desc[0], i)
    for i,desc in enumerate(cursor.description)
    )
  for row in cursor.fetchall():
    print row[header_map['league']]

If you have a lot of fields, I often use a closure to simplify the coding:

  for row in cursor.fetchall():
    item = lambda s: row[headermap[s]]
    print item('league')
    print item('BB')
    print item('player_id')

That way, the row stays in order, if you need it that way:

  league, bb, hr, ip, k, h, id, er = row

-tkc



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

Reply via email to