[Python] Quelqu'un peut m'expliquer?
ElChibrax
2022-05-06 18:12:26
https://image.noelshack.com/fichiers/2022/18/5/1651850517-demande.png
Quelqu'un peut m'expliquer l'utilité du deuxième nombre dans les crochets [3:1] ou encore [4:4] ?
Du moment que je vais de 1 au premier nombre indiqué entre crochets le résultat est le même
originmaster
2022-05-06 18:14:24
Comment tu peux coder sur un truc aussi sombre
originmaster
2022-05-06 18:18:47
Sinon je ne connais pas le Python, mais visiblement ce que tu fais ça s'appelle du "slice assignment".
Je te laisse chercher avec ça, ce sera peut être plus simple pour trouver avec ce nom.
ElChibrax
2022-05-06 18:28:35
Le 06 mai 2022 à 18:14:24 :
Comment tu peux coder sur un truc aussi sombre
J'aime bien que mon écran soit sombre, je protège mes yeux et tant que je vois je ne vois pas le soucis J'ai même enlevé des filtres pour faire le screen
ElChibrax
2022-05-06 18:38:20
Le 06 mai 2022 à 18:28:35 :
Le 06 mai 2022 à 18:14:24 :
Comment tu peux coder sur un truc aussi sombre
J'aime bien que mon écran soit sombre, je protège mes yeux et tant que je vois je ne vois pas le soucis J'ai même enlevé des filtres pour faire le screen
Oui je sais que c'est ça, je suis des cours mais il ne précise pas à quoi sert ce deuxième indice.
Si par exemple je souhaite ajouter une valeur à la liste après la 4ème valeur je vais écrire "nomDeLaListe[4:1]" ça j'ai compris mais à quoi sert le 1?
Si le premier indice est 4, je peux choisir pour le second entre les valeurs 1 et 4 comprises ça ne va rien changer. Par contre si je mets 5 ça va remplacer la 6ème valeur.
Donc pourquoi ça ne remplace pas la seconde quand je mets 1?
Azerban
2022-05-06 18:46:20
Le deuxième indice c'est la limite haute quand tu fais du slicing. En mettant une limite haute inférieure ou égale à la limite basse pour ton index, le slicing te retourne une liste vide que tu peux "ajouter" dans ta liste originale.
Si ta limite haute est strictement supérieure à la limite basse, dans ce cas le slicing va venir écraser cette portion de ta liste avec les nouvelles valeurs que tu veux lui assigner.
Hashcat
2022-05-06 18:46:53
Le 06 mai 2022 à 18:12:26 :
https://image.noelshack.com/fichiers/2022/18/5/1651850517-demande.png
Quelqu'un peut m'expliquer l'utilité du deuxième nombre dans les crochets [3:1] ou encore [4:4] ?
Du moment que je vais de 1 au premier nombre indiqué entre crochets le résultat est le même
Plus floue stp
ElChibrax
2022-05-06 18:49:38
Le 06 mai 2022 à 18:46:53 :
Le 06 mai 2022 à 18:12:26 :
https://image.noelshack.com/fichiers/2022/18/5/1651850517-demande.png
Quelqu'un peut m'expliquer l'utilité du deuxième nombre dans les crochets [3:1] ou encore [4:4] ?
Du moment que je vais de 1 au premier nombre indiqué entre crochets le résultat est le même
Plus floue stp
https://image.noelshack.com/fichiers/2022/18/5/1651850517-demande.png
Azerban
2022-05-06 18:51:38
Exemple :
>>> liste = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> liste[1: 7]
[2, 3, 4, 5, 6, 7]
>>> liste[2: 4] = [9, 4, 7]
>>> print(liste)
[1, 2, 9, 4, 7, 5, 6, 7, 8, 9, 10] # 3 et 4 ont disparu de la liste
>>> liste[4:4] = [0, 0, 0]
>>> print(liste)
[1, 2, 9, 4, 0, 0, 0, 7, 5, 6, 7, 8, 9, 10] # 0, 0, 0 sont ajoutés dans la liste à l'indice 4 sans rien écraser.
ElChibrax
2022-05-06 18:51:56
Le 06 mai 2022 à 18:46:20 :
Le deuxième indice c'est la limite haute quand tu fais du slicing. En mettant une limite haute inférieure ou égale à la limite basse pour ton index, le slicing te retourne une liste vide que tu peux "ajouter" dans ta liste originale.
Si ta limite haute est strictement supérieure à la limite basse, dans ce cas le slicing va venir écraser cette portion de ta liste avec les nouvelles valeurs que tu veux lui assigner.
Je comprends pas pourquoi Normalement les valeurs que j'ai ajouté se situent entre la 4ème et 5ème valeur Ou entre la 5ème et la 6ème si on compte le 0 Donc pourquoi la limite haute n'est pas juste la valeur au-dessus de la limite basse?
ElChibrax
2022-05-06 18:55:25
Le 06 mai 2022 à 18:51:38 :
Exemple :
>>> liste = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> liste[1: 7]
[2, 3, 4, 5, 6, 7]
>>> liste[2: 4] = [9, 4, 7]
>>> print(liste)
[1, 2, 9, 4, 7, 5, 6, 7, 8, 9, 10] # 3 et 4 ont disparu de la liste
>>> liste[4:4] = [0, 0, 0]
>>> print(liste)
[1, 2, 9, 4, 0, 0, 0, 7, 5, 6, 7, 8, 9, 10] # 0, 0, 0 sont ajoutés dans la liste à l'indice 4 sans rien écraser.
Ca j'ai compris, merci quand-même ^^
Mais c'est curieux qu'on puisse mettre n'importe quelle valeur en limite haute tant qu'elle est inférieure à la limite basse sans que ça ne change absolument rien quoi mais bref Pourquoi pas
BabyKennen
2022-05-06 18:56:41
Plus degueulasse encore le screen stp
Azerban
2022-05-06 18:57:55
Le 06 mai 2022 à 18:51:56 :
Le 06 mai 2022 à 18:46:20 :
Le deuxième indice c'est la limite haute quand tu fais du slicing. En mettant une limite haute inférieure ou égale à la limite basse pour ton index, le slicing te retourne une liste vide que tu peux "ajouter" dans ta liste originale.
Si ta limite haute est strictement supérieure à la limite basse, dans ce cas le slicing va venir écraser cette portion de ta liste avec les nouvelles valeurs que tu veux lui assigner.
Je comprends pas pourquoi Normalement les valeurs que j'ai ajouté se situent entre la 4ème et 5ème valeur Ou entre la 5ème et la 6ème si on compte le 0 Donc pourquoi la limite haute n'est pas juste la valeur au-dessus de la limite basse?
Il faut que ta limite haute soit strictement supérieure à la limite basse (en python la limite haute est l'index non compris)
>> liste = list("ElChibrax")
>>> liste
['E', 'l', 'C', 'h', 'i', 'b', 'r', 'a', 'x']
>>> liste[4:4]
[]
>>> liste[4:5]
['i']
Mackogneur1m60
2022-05-06 19:00:07
Le 06 mai 2022 à 18:18:47 :
Sinon je ne connais pas le Python, mais visiblement ce que tu fais ça s'appelle du "slice assignment".
Je te laisse chercher avec ça, ce sera peut être plus simple pour trouver avec ce nom.
Le Python est un serpent qui vit au Centre de l'Afrique et dans les régions chaudes du Globe comme le Sénégal entre autres. Ce serpent mesure entre un mètre et un mètre et demi. Son corps est trapu et couvert d'écailles jaunes, beiges et brunes.
Azerban
2022-05-06 19:02:47
Le 06 mai 2022 à 18:55:25 :
Le 06 mai 2022 à 18:51:38 :
Exemple :
>>> liste = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> liste[1: 7]
[2, 3, 4, 5, 6, 7]
>>> liste[2: 4] = [9, 4, 7]
>>> print(liste)
[1, 2, 9, 4, 7, 5, 6, 7, 8, 9, 10] # 3 et 4 ont disparu de la liste
>>> liste[4:4] = [0, 0, 0]
>>> print(liste)
[1, 2, 9, 4, 0, 0, 0, 7, 5, 6, 7, 8, 9, 10] # 0, 0, 0 sont ajoutés dans la liste à l'indice 4 sans rien écraser.
Ca j'ai compris, merci quand-même ^^
Mais c'est curieux qu'on puisse mettre n'importe quelle valeur en limite haute tant qu'elle est inférieure à la limite basse sans que ça ne change absolument rien quoi mais bref Pourquoi pas
Avec le slicing il y a aussi un troisième paramètre qui te permet de préciser, le pas et ce pas peut être négatif.
>>> liste = list("ElChibrax")
>>> liste
['E', 'l', 'C', 'h', 'i', 'b', 'r', 'a', 'x']
>>> liste[4:1:-1] = ["o", "u", "i"]
>>> liste
['E', 'l', 'i', 'u', 'o', 'b', 'r', 'a', 'x']
Azerban
2022-05-06 19:04:57
liste = list("J'apprends le Python, putain c'est chaud les kheys !!")
print("".join(liste[::-1]))
Donne :
!! syehk sel duahc tse'c niatup ,nohtyP el sdnerppa'J