Tester si deux listes contiennent des valeurs différentes⚓︎
Un laboratoire reçoit des résultats depuis deux sources différentes. Les résultats sont deux tableaux d'entiers source_1
et source_2
de même longueur.
Quand deux résultats concordent, on considère qu'il n'y aura pas à refaire l'expérience, on le codera par False
, mais si les résultats sont différents, on considère qu'il faudra refaire cette expérience, on le codera par True
.
Écrire une fonction telle que differences(source_1, source_2)
renvoie un tableau de la longueur commune à source_1
et source_2
rempli de booléens.
Exemples
>>> differences([14, 87, 22, 5, 65], [14, 86, 27, 5, 65])
[False, True, True, False, False]
>>> differences([-54], [-54])
[False]
>>> differences([7, 8], [7, 11])
[False, True]
>>> differences([], [])
[]
def differences(sourcepy-und1, sourcepy-und2):bksl-nl ...bksl-nlbksl-nlbksl-nlbksl-nl# testsbksl-nlbksl-nlassert differences([14, 87, 22, 5, 65],bksl-nl [14, 86, 27, 5, 65]) == [False, True, True, False, False]bksl-nlbksl-nlassert differences([-54], [-54]) == [False]bksl-nlassert differences([7, 8], [7, 11]) == [False, True]bksl-nlassert differences([], []) == []bksl-nlbksl-nlbksl-nldef differences(sourcepy-und1, sourcepy-und2):bksl-nl return [a != b for a, b in zip(sourcepy-und1, sourcepy-und2)]bksl-nlbksl-nlbksl-nl# testsbksl-nlbksl-nlassert differences([14, 87, 22, 5, 65],bksl-nl [14, 86, 27, 5, 65]) == [False, True, True, False, False]bksl-nlbksl-nlassert differences([-54], [-54]) == [False]bksl-nlassert differences([7, 8], [7, 11]) == [False, True]bksl-nlassert differences([], []) == []bksl-nlbksl-nlbksl-nl
A
Autre version simple⚓︎
def differences(source_1, source_2):
n = len(source_1)
resultat = []
for i in range(n):
resultat.append(source_1[i] != source_2[i])
return resultat
Avec liste en compréhension⚓︎
def differences(source_1, source_2):
n = len(source_1)
resultat = [source_1[i] != source_2[i] for i in range(n)]
return resultat
Version style fonctionnel⚓︎
def differences(source_1, source_2):
return [a != b for a, b in zip(source_1, source_2)]
Z