Différence syntaxe ajout d'élément dans une liste
Bonjour,
Je cherche à faire un code python qui prend en argument une liste et qui renvoie la liste contenant toutes ses parties.
J'ai réussi à avoir un code qui fonctionne, mais je ne comprend pas la différence entre plusieurs choses que j'ai essayé à la 2ème ligne de ma boucle for(), à savoir:
elt = elt + [lst[n-1]] (donne le bon résultat)
elt += [lst[n-1]] (mauvais résultat)
elt.append(lst[n-1]) (mauvais résultat)
contexte : elt est une liste et lst[n-1] un int
Pouvez-vous m'éclairer sur ces différentes options ?
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
def parties(lst: list) -> list:
n = len(lst)
if n == 0:
return [[]]
else:
rep = []
inter = parties(lst[:n - 1])
for elt in inter:
rep.append(elt)
elt = elt + [lst[n-1]]
rep.append(elt)
return rep |