Recherche des positions d'un élément dans un tableau⚓︎
Écrire une fonction indices
qui prend en paramètres un entier element
et un tableau entiers
de nombres entiers et qui renvoie la liste croissante des indices de element
dans le tableau entiers
.
Cette liste sera donc vide []
si element
n'apparait pas dans entiers
.
On n'utilisera ni la méthode
index
, ni la méthodemax
.
Exemples
>>> indices(3, [3, 2, 1, 3, 2, 1])
[0, 3]
>>> indices(4, [1, 2, 3])
[]
>>> indices(10, [2, 10, 3, 10, 4, 10, 5])
[1, 3, 5]
def indices(element, entiers):bksl-nl ...bksl-nlbksl-nlbksl-nl# testsbksl-nlbksl-nlassert indices(3, [3, 2, 1, 3, 2, 1]) == [0, 3]bksl-nlassert indices(4, [1, 2, 3]) == []bksl-nlassert indices(1, [1, 1, 1, 1]) == [0, 1, 2, 3]bksl-nlassert indices(5, [0, 0, 5]) == [2]bksl-nlbksl-nldef indices(element, entiers):bksl-nl return [i for i in range(len(entiers)) if entiers[i] == element]bksl-nlbksl-nl
A
C'est la version recommandée.
Version sans compréhension de liste⚓︎
def indices(element, entiers):
positions = []
for i in range(len(entiers)):
if entiers[i] == element:
positions.append(i)
return positions
Version fonctionnelle⚓︎
def indices(element, entiers):
return [i for i, a in enumerate(entiers) if a == element]
Z