Ask Your Question

Revision history [back]

It's easier to iterate over the indices (rather than the values) in the first place:

sage: zz=[(k,z[k]) for k in range(len(z)) if z[k] != 0]
sage: zz
[(0, 5), (2, 5), (4, 10), (5, 13), (6, 14)]

It's easier to iterate over the indices (rather than the values) in the first place:

sage: zz=[(k,z[k]) for k in range(len(z)) if z[k] != 0]
sage: zz
[(0, 5), (2, 5), (4, 10), (5, 13), (6, 14)]

Or using a bit cleaner, using enumerate:

sage: zz=[(k,v) for (k,v) in enumerate(z) if v != 0]
sage: zz
[(0, 5), (2, 5), (4, 10), (5, 13), (6, 14)]

It's easier to iterate over the indices (rather than the values) in the first place:

sage: zz=[(k,z[k]) for k in range(len(z)) if z[k] != 0]
sage: zz
[(0, 5), (2, 5), (4, 10), (5, 13), (6, 14)]

Or using a bit cleaner, using enumerate:

sage: zz=[(k,v) for (k,v) in enumerate(z) if v != 0]
sage: zz
[(0, 5), (2, 5), (4, 10), (5, 13), (6, 14)]

It's easier to iterate over the indices (rather than the values) in the first place:

sage: zz=[(k,z[k]) zz = [(k, z[k]) for k in range(len(z)) if z[k] != 0]
sage: zz
[(0, 5), (2, 5), (4, 10), (5, 13), (6, 14)]

Or a bit cleaner, using enumerate:

sage: zz=[(k,v) zz = [(k, v) for (k,v) k, v in enumerate(z) if v != 0]
sage: zz
[(0, 5), (2, 5), (4, 10), (5, 13), (6, 14)]