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 ...
Il faut utiliser dans un interpréteur python la fonction help pour déjà avoir un aperçu de ce que list propose comme méthode, ensuite, il y a la documentation python, puis un autre truc est d'utiliser pydoc, dans ta console ou terminal.
Ouvrira une page dans ton navigateur avec les différents modules standards et ceux que tu as installés de python.
Code : Sélectionner tout - Visualiser dans une fenêtre à part python -m pydoc -b
Après, c'est à toi de te faire un petit aide-mémoire sur les choses que tu as du mal à assimiler, choses dont tu serviras peu mais toujours utiles de garder au chaud au cas où, ça tu peux le faire en réservant un répertoire sur ton système dédié à ça, et en nommant les fichiers py en fonction du script qu'il fait, faut en tout cas être plus organisé aue moi, des fichiers py, y en a partout sur mes systèmes, c'est le gros bazar![]()
cette idée d'un petit répertoire des choses à faire, sous la forme d'un arbre qui va en se ramifiant, c'est l'idée qu'on se fait du fonctionnement d'un programme qui va en se complexifiant.
Ce qui manque, c'est cette chaîne. On trouve des choses basiques répétées sans cesse. Et en plus grand nombre des choses extravagantes, du chinois à la puissance 1000.
Il manque le plaisir d'enseigner et d'aider les pauvres gens à progresser sans que cela ne soit un acte héroïque ou une sanctification ...par la douleur !
Partager