Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #4328 > unrolled thread
| Started by | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| First post | 2025-12-23 15:51 +0100 |
| Last post | 2025-12-23 18:32 +0100 |
| Articles | 5 — 3 participants |
Back to article view | Back to fr.comp.lang.python
Comment fonctionne [::-] ? Dominique <dominique.sextant@orange.fr.invalid> - 2025-12-23 15:51 +0100
Re: Comment fonctionne [::-] ? Olivier Miakinen <om+news@miakinen.net> - 2025-12-23 16:30 +0100
Re: Comment fonctionne [::-] ? Python <python@cccp.invalid> - 2025-12-23 16:53 +0000
Re: Comment fonctionne [::-] ? Dominique <dominique.sextant@orange.fr.invalid> - 2025-12-23 18:34 +0100
Re: Comment fonctionne [::-] ? Dominique <dominique.sextant@orange.fr.invalid> - 2025-12-23 18:32 +0100
| From | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| Date | 2025-12-23 15:51 +0100 |
| Subject | Comment fonctionne [::-] ? |
| Message-ID | <10ieaa6$bc4s$1@dont-email.me> |
Bonjour, Tout est dans le sujet. J'ai bien compris le résultat : test="Bonjour Python" test[::-1] 'nohtyP ruojnoB' Ce que je ne parviens pas à comprendre, c'est comment fonctionne [::-1] Si vous pouviez m'éclairer, j'en serais heureux. Merci par anticipation 😊 Joyeux Noël à tous, -- Dominique Esto quod es
[toc] | [next] | [standalone]
| From | Olivier Miakinen <om+news@miakinen.net> |
|---|---|
| Date | 2025-12-23 16:30 +0100 |
| Message-ID | <10iecji$f1v$1@cabale.usenet-fr.net> |
| In reply to | #4328 |
Le 23/12/2025 à 15:51, Dominique a écrit : > > test="Bonjour Python" > test[::-1] > 'nohtyP ruojnoB' > > Ce que je ne parviens pas à comprendre, c'est comment fonctionne [::-1] Voici ce que j'en comprends. Il y a trois parties autour des deux-points, respectivement : - une partie vide avant le premier deux-points ; - une partie vide entre les deux deux-points ; - le nombre -1 après le dernier deux-points. La première partie indique où on commence, la deuxième partie indique où on s'arrête, et la troisième partie indique à la fois dans quel sens on va, et de combien de caractères on se déplace à chaque fois. Quelques exemples pour mieux comprendre : "abcdefgh"[0:5:1] -> 'abcde' "abcdefgh"[0:5:2] -> 'ace' "abcdefgh"[5:0:-1] -> 'fedcb' "abcdefgh"[5:0:-2] -> 'fdb' Maintenant, les deux parties vides indiquent que les positions de départ et d'arrivée sont les deux extrémités de la chaine, donc toute la chaine. Cordialement, -- Olivier Miakinen
[toc] | [prev] | [next] | [standalone]
| From | Python <python@cccp.invalid> |
|---|---|
| Date | 2025-12-23 16:53 +0000 |
| Message-ID | <xRYo3QQG5DBwRULZuWEGlAtU9sI@jntp> |
| In reply to | #4329 |
Le 23/12/2025 à 16:30, Olivier Miakinen a écrit : > Le 23/12/2025 à 15:51, Dominique a écrit : >> >> test="Bonjour Python" >> test[::-1] >> 'nohtyP ruojnoB' >> >> Ce que je ne parviens pas à comprendre, c'est comment fonctionne [::-1] > > Voici ce que j'en comprends. > > Il y a trois parties autour des deux-points, respectivement : > - une partie vide avant le premier deux-points ; > - une partie vide entre les deux deux-points ; > - le nombre -1 après le dernier deux-points. > > La première partie indique où on commence, la deuxième partie > indique où on s'arrête, et la troisième partie indique à la > fois dans quel sens on va, et de combien de caractères on > se déplace à chaque fois. > > Quelques exemples pour mieux comprendre : > "abcdefgh"[0:5:1] -> 'abcde' > "abcdefgh"[0:5:2] -> 'ace' > "abcdefgh"[5:0:-1] -> 'fedcb' > "abcdefgh"[5:0:-2] -> 'fdb' > > Maintenant, les deux parties vides indiquent que les positions > de départ et d'arrivée sont les deux extrémités de la chaine, > donc toute la chaine. > > Cordialement, c'est tout à fait ça : >>> test="Bonjour Python" >>> test[::-1] 'nohtyP ruojnoB' >>> len(test) 14 >>> test[14:0:-1] 'nohtyP ruojno' >>> test[-1:0:-1] 'nohtyP ruojno' >>> test[-1::-1] 'nohtyP ruojnoB' >>> test[14::-1] 'nohtyP ruojnoB'
[toc] | [prev] | [next] | [standalone]
| From | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| Date | 2025-12-23 18:34 +0100 |
| Message-ID | <10iejq9$ej84$2@dont-email.me> |
| In reply to | #4330 |
Le 23/12/2025 à 17:53, Python a écrit : > c'est tout à fait ça : > > >>> test="Bonjour Python" > >>> test[::-1] > 'nohtyP ruojnoB' > >>> len(test) > 14 > >>> test[14:0:-1] > 'nohtyP ruojno' > >>> test[-1:0:-1] > 'nohtyP ruojno' > >>> test[-1::-1] > 'nohtyP ruojnoB' > >>> test[14::-1] > 'nohtyP ruojnoB' Je me suis amusé avec ça, après les explications d’Olivier. Je suis impressionné par la souplesse de Python ! Bonnes fêtes de fin d'année à tous et merci pour vos réponses, -- Dominique Esto quod es
[toc] | [prev] | [next] | [standalone]
| From | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| Date | 2025-12-23 18:32 +0100 |
| Message-ID | <10iejn8$ej84$1@dont-email.me> |
| In reply to | #4329 |
Le 23/12/2025 à 16:30, Olivier Miakinen a écrit : > Voici ce que j'en comprends. > > Il y a trois parties autour des deux-points, respectivement : > - une partie vide avant le premier deux-points ; > - une partie vide entre les deux deux-points ; > - le nombre -1 après le dernier deux-points. > > La première partie indique où on commence, la deuxième partie > indique où on s'arrête, et la troisième partie indique à la > fois dans quel sens on va, et de combien de caractères on > se déplace à chaque fois. > > Quelques exemples pour mieux comprendre : > "abcdefgh"[0:5:1] -> 'abcde' > "abcdefgh"[0:5:2] -> 'ace' > "abcdefgh"[5:0:-1] -> 'fedcb' > "abcdefgh"[5:0:-2] -> 'fdb' > > Maintenant, les deux parties vides indiquent que les positions > de départ et d'arrivée sont les deux extrémités de la chaine, > donc toute la chaine. > > Cordialement, Merci Olivier, ton explication est très claire. Je comprends mieux pourquoi « ça marche » 😊 Cette formulation est vraiment puissante. Merci encore, -- Dominique Esto quod es
[toc] | [prev] | [standalone]
Back to top | Article view | fr.comp.lang.python
csiph-web