Aller au contenu

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éthode max.

Exemples
🐍 Console Python
>>> 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]
###
# 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-nl# autres testsbksl-nlbksl-nlassert indices(-1, [-1, 0, -1, 0, -1, 0, -1]) == [0, 2, 4, 6]bksl-nlassert indices(10, [2, 10, 3, 10, 4, 10, 5]) == [1, 3, 5]bksl-nlbksl-nl 5/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⚓︎

🐍 Script Python
def indices(element, entiers):
    positions = []
    for i in range(len(entiers)):
        if entiers[i] == element:
            positions.append(i)
    return positions

Version fonctionnelle⚓︎

🐍 Script Python
def indices(element, entiers):
    return [i for i, a in enumerate(entiers) if a == element]

Z