bonsoir
en partant de cela: ['1,1,1,1', 'babybaby', 'bbb'], comment pourrais-je obtenir : [1,1,1,1, "baby", "baby", 'b', 'b', 'b'] ?
Merci
bonsoir
en partant de cela: ['1,1,1,1', 'babybaby', 'bbb'], comment pourrais-je obtenir : [1,1,1,1, "baby", "baby", 'b', 'b', 'b'] ?
Merci
Bonjour,
Comment peut-on avoir des données à modifier de la sorte. Dans tous les cas python ne sera pas devin et ne vérifiera pas dans votre tête quelle est votre solution.
Vous avez un réel problème de conception dans la solution que vous préconisez ! Il faut revoir le début de résolution.
merci fred et bonjour
voici le modeste problème que je vous propose si vous avez le temps :
j'obtiens : ['1,1,1,1', 'bonjour,bonjour'], comment pourrais-je obtenir [1,1,1,1,'bonjour','bonjour'] ? merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 v=4,'1' w=2,'bonjour' x = v[0] y = v[1] x1= w[0] y1= w[1] v=((v[1] + ',') * v[0]) w=((w[1] + ',') * w[0]) m=[v,w] print(m)
Salut.
Ce genre d'exercice peut se faire à condition de savoir manipuler chaînes de caractères, listes, slices et évidemment boucles.
Un simple 1er jet pourrait aboutir à :
Si tu n'arrives pas à bien comprendre ce simple code, notamment ce qu'il se passe dans la boucle while, je te conseille d'user de prints pour visualiser la valeur des diverses variables à chaque tour.
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
18
19
20
21
22
23
24
25 l = ['1,1,1,1', 'babybaby', 'bbb'] l2 = [] for n in l : s = n.split(',') if len(s) > 1 : try: s = (int(v) for v in s) except : pass l2.extend(s) else : ln = len(n) li = 1 while True : base = n[0:li] for i in range(li, ln, li) : if n[i:i+li] != base : li += 1 break else : break l2.extend(n[i:i+li] for i in range(0, ln, li)) print(l2)
Bonjour,
Si tu veux un code spécifique à ton problème et qui te présente une introduction à la manipulation de liste et de chaîne de caractères, voici un exemple de code qui mène à ton résultat :
Ce code ne permet pas de résoudre ton problème pour toutes les listes possibles mais te donnes une idée de ce qu'il faudrait faire.
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 chaine = ['1,1,1,1', 'babybaby', 'bbb'] #On veut [1,1,1,1, "baby", "baby", 'b', 'b', 'b'] serie_de_uns = chaine[0].split(",") babies = chaine[1] baby1 = babies[:4] baby2 = babies[4:] serie_de_b = [b for b in chaine[2]] resultat = [] resultat = serie_de_uns resultat.append(baby1) resultat.append(baby2) resultat = resultat + serie_de_b print(resultat)
merci à vous …. je n'ai pas compris comment vous faites …. mais le résultat est là ; comment intégrer ces formules dans une explication.
Ce qui me ferait gagner du temps, c'est une sorte d'index où il y aurait toutes les possibilités et les formules, elles-mêmes renvoyant à d'autres formules, chacune expliquée par sa fonction.
un index avec, répertoriées comme dans un moteur de recherche de type google, toutes les possibilités basiques qu'offrent les listes, par exemple : je cherche comment séparer les caractères d'un élément pouvant appartenir à une liste… grâce à l'index je remonte une sorte d'arbre logique jusqu'aux opérations basiques utilisées par exemple dans le code que tu as écris, au lieu de te demander comment tu as fait ...
Partager