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 : Sélectionner tout - Visualiser dans une fenêtre à part
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