title: How to convert a sparse matrix into a list of triples
body: <p>I have  a sparse matrix such as:</p>
  <pre><code>from scipy.sparse import random
  from scipy import stats
  from numpy.random import default_rng
  rng = default_rng()
  rvs = stats.poisson(2).rvs
  S = random(10, 10, density=0.25, random_state=rng, data_rvs=rvs)
  S.A
  
  array([[4., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
         [0., 1., 0., 0., 0., 0., 3., 2., 0., 0.],
         [0., 0., 0., 0., 1., 0., 3., 0., 0., 5.],
         [0., 2., 0., 0., 0., 0., 2., 2., 0., 0.],
         [0., 3., 0., 0., 0., 0., 0., 0., 0., 0.],
         [0., 1., 0., 0., 0., 4., 1., 0., 0., 1.],
         [0., 2., 0., 1., 0., 0., 0., 0., 0., 0.],
         [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
         [0., 1., 0., 0., 1., 0., 0., 0., 0., 0.],
         [0., 3., 0., 0., 1., 2., 0., 0., 2., 2.]])
  </code></pre>
  <p>How can I convert S into a list of (row_id, col_id, value) triples.</p>
  <p>In this case that would be:</p>
  <pre><code>[(0, 0, 4), (1, 1, 1), (1, 6, 3), (1, 7, 2), (2, 4, 1), (2, 6, 3)....]
  </code></pre>