Bonjour à tous,
J’aurai besoin de votre aide pour un petit script :
j’ai une chaine de caractère qui ressemble à un chemin de répertoire (donc des chaines séparées par "/")
exemple : 'le site/zestedesavoir/est super'
Je cherche à récupérer toutes les combinaisons de cette chaine de manière ordonnée et avec au moins toujours le dernier élément.
ici on aurait :
['le site', 'zestedesavoir', 'est super']
['le site', 'est super']
['est super']
['zestedesavoir', 'est super']
la longueur de la chaine peut varier.
J’ai donc pensé utiliser itertools.combinations mais cela m’oblige à l’utiliser autant de fois qu’il y a d’éléments dans ma liste
import itertools
s = 'le site/zestedesavoir/est super'.split('/')
all_combinations = []
for i in range(len(s)):
combination = itertools.combinations(s, i +1)
all_combinations += list(combination)
for combination in all_combinations:
if s[-1] == combination[-1]: # on veut uniquement les combinaisons qui se finisse par le dernier élément de la chaine
print(combination)
cela fonctionne mais je me demande si c’est optimal ?
+0
-0