Transformer chaine de caractères Python
Fermé
Bonjour,
Je suis actuellement en galère avec Python. Voilà j'ai ma chaine de caractères de type x="abcdefghijkl". Et j'aurais voulu que ça devienne une liste séparée tous les 3 caractères. En gros que ça me donne x=["abc","def","ghi","jkl"]. Car avec split on ne peut séparer qu'en fonction de symboles.
Sinon autre question en relation, j'aurais voulu pour chaque groupe de 3 caractères les espacer par un symbole (en gros : abc - def - ghi - jkl). Avec la fonction for, elle prend tous les caractères dans x et applique le programme pour chaque caractère, mais je souhaiterais en gros qu'elle prenne par groupe de 3 caractères et applique le programme pour chaque groupe.
Voilà j'espère que vous avez compris.
Merci d'avance pour vos réponse
Je suis actuellement en galère avec Python. Voilà j'ai ma chaine de caractères de type x="abcdefghijkl". Et j'aurais voulu que ça devienne une liste séparée tous les 3 caractères. En gros que ça me donne x=["abc","def","ghi","jkl"]. Car avec split on ne peut séparer qu'en fonction de symboles.
Sinon autre question en relation, j'aurais voulu pour chaque groupe de 3 caractères les espacer par un symbole (en gros : abc - def - ghi - jkl). Avec la fonction for, elle prend tous les caractères dans x et applique le programme pour chaque caractère, mais je souhaiterais en gros qu'elle prenne par groupe de 3 caractères et applique le programme pour chaque groupe.
Voilà j'espère que vous avez compris.
Merci d'avance pour vos réponse
A voir également:
- Transformer chaine de caractères Python
- Caractères ascii - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractères spéciaux - Guide
- Citizen code python avis - Accueil - Outils
- Plus de chaine tv - Guide
2 réponses
jordane45
Messages postés
38459
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 avril 2025
4 740
24 sept. 2018 à 00:42
24 sept. 2018 à 00:42
Bonjour
Tu fais un for
Tu y ajoute une variable qui servira de compteur
A chaque fois qu'il arrive à 3 tu joutes ton symbole et tu remets le compteur à 0
Tu fais un for
Tu y ajoute une variable qui servira de compteur
A chaque fois qu'il arrive à 3 tu joutes ton symbole et tu remets le compteur à 0
Merci Jordane pour ta réponse.
J'ai essayé un compteur avec while mais ça ne fonctionne pas. Auriez vous un exemple à me proposer svp ?
J'ai essayé un compteur avec while mais ça ne fonctionne pas. Auriez vous un exemple à me proposer svp ?
Ce que vous demandez à faire est très simple en python, cela s'effectue en utilisant les slices.
>>> x = "abcdefghijkl" >>> for i in range(0, len(x), 3): ... print(x[i:i+3]) ... abc def ghi jkl >>> lx = [x[i:i+3] for i in range(0, len(x), 3)] >>> lx ['abc', 'def', 'ghi', 'jkl'] >>> ' - '.join(lx) 'abc - def - ghi - jkl'
Merci youki c'est exactement cela que je cherchais, et j'étais parti beaucoup trop loin.
Mais y a un truc que je comprends pas, c'est le moment où tu passes en ligne les groupes qui sont marqués en colonne. Y aurait pas un autre moyen de le faire? Avec liste ou des [ ] par exemple plutôt que de remarquer toute la ligne?
Mais y a un truc que je comprends pas, c'est le moment où tu passes en ligne les groupes qui sont marqués en colonne. Y aurait pas un autre moyen de le faire? Avec liste ou des [ ] par exemple plutôt que de remarquer toute la ligne?