import mermaid from ''; mermaid.initialize({ startOnLoad: true });
from jyquickhelper import add_notebook_menu
add_notebook_menu()
import numpy
mat = numpy.zeros((5, 5))
for i in range(mat.shape[0]):
for j in range(mat.shape[1]):
mat[i, j] = i * 10 + j
mat
array([[ 0., 1., 2., 3., 4.], [10., 11., 12., 13., 14.], [20., 21., 22., 23., 24.], [30., 31., 32., 33., 34.], [40., 41., 42., 43., 44.]])
mat[2, 3], mat[2][3]
(23.0, 23.0)
%timeit mat[2, 3]
116 ns ± 4.49 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
%timeit mat[2][3]
319 ns ± 57 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
Les deux écritures ont l'air identique puisqu'elle retourne le même résultat. Néanmoins, mat[2][3]
crée un tableau temporaire puis extrait un élément. Les éléments ne sont pas recopiés mais un objet intermédiaire est créé.
mat[2]
array([20., 21., 22., 23., 24.])