Hello!
Here is something that surprised me and I still didn't get it.

If we want to store a matrix in pure python (no numpy), the first thing that comes to (my) mind is to use a list of lists, like the list l below:
In [1]: l=[
   ...:    [11,12,13],
   ...:    [21,22,23]
   ...:   ]

We can access individual components of this object in a simple, to be expected way:

In [2]: l[0][1], l[1][0]
Out[2]: (12, 21)

OK, that's fine. If we want to access individual rows of this matrix like object, the standard slice notation (on the second index) works as expected also:

In [3]: l[0][:]
Out[3]: [11, 12, 13]

In [4]: l[1][:]
Out[4]: [21, 22, 23]

Again, fine! But what if we want to access a particular row? My first guess was that standard slice notation on the first index would do it, but it doesn't! Instead, we get the rows again:

In [6]: l[:][0]
Out[6]: [11, 12, 13]

In [7]: l[:][1]
Out[7]: [21, 22, 23]

Why is this so?
Thanks,
Jose Amoreira
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to