On 23/02/17 23:00, Deborah Swanson wrote:
It looks to me like you are indexing into a single-element
list that you
are creating using the literal list syntax in the middle of
the expression.
Actually, group is essentially a 2-element list. Each group has a list
of rows, and each row has a set of fields. group has to be indexed by
row index and field index. (This is a namedtuple configuration.)
The weirdness is that
group[0][4]
gets the right answer, but
group[[idx][records_idx[label]]],
where idx = 0 and records_idx[label]] = 4
gets the IndexError.
So remove the outermost square brackets then so the two expressions are
the same (what I - and also Steven - mentioned is correct: you are
creating a single-element list and indexing it (and then using the
result of that, should it work, to index 'group')).
The same thing as "group[0][4]" in your example is:
group[idx][records_idx[label]]
(assuming you have all those things correct - I haven't studied your
code in a lot of detail).
Your new example expressed using the original construct you posted is:
group[[0][4]]
... see the extra enclosing square brackets?
E.
--
https://mail.python.org/mailman/listinfo/python-list