Utiliser l’opérateur * pour représenter le reste d’une liste
Python 3 a introduit l’opérateur *
permettant d’extraire plusieurs éléments au début ou à la fin d’une liste.
Anti-pattern (Pas bien!)
my_list = ["titi", "tata", "toto", "riri", "fifi", "loulou"]
(enfant_1, enfant_2, reste_enfants) = my_list[0], my_list[1], my_list[2:]
print(reste_enfants)
(enfant_1, enfants_milieu, dernier_enfant) = my_list[0], my_list[1:-1], my_list[-1]
print(enfants_milieu)
(premier_enfants, enfants_milieu, dernier_enfants) = my_list[:-2], my_list[-2], my_list[-1]
print(premier_enfants)
Bonne pratique (Bien!)
my_list = ["titi", "tata", "toto", "riri", "fifi", "loulou"]
(enfant_1, enfant_2, *reste_enfants) = my_list
print(reste_enfants)
(enfant_1, *enfants_milieu, dernier_enfant) = my_list
print(enfants_milieu)
(*premier_enfants, enfants_milieu, dernier_enfants) = my_list
print(premier_enfants)