La fonction slice () renvoie un objet slice qui peut être utilisé pour découper des chaînes, des listes, des tuple, etc.
L'objet slice est utilisé pour découper une séquence donnée (chaîne, octets, tuple, liste ou plage) ou tout objet prenant en charge le protocole de séquence (implémentation __getitem__()
et __len__()
méthode).
La syntaxe de slice()
est:
tranche (démarrage, arrêt, étape)
Paramètres slice ()
slice()
peut prendre trois paramètres:
- start (facultatif) - Entier de départ où le découpage de l'objet commence. Par défaut,
None
si non fourni. - stop - Entier jusqu'à ce que le tranchage ait lieu. Le découpage s'arrête à l'index stop -1 (dernier élément) .
- step (facultatif) - Valeur entière qui détermine l'incrément entre chaque index pour le découpage. Par défaut,
None
s'il n'est pas fourni.
Exemple 1: créer un objet de tranche pour le découpage
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Production
tranche (Aucun, 3, Aucun) tranche (1, 5, 2)
Ici, result1
et result2
sont des objets de tranche.
Maintenant que nous connaissons les objets de tranche, voyons comment nous pouvons obtenir une sous-chaîne, une sous-liste, un sous-tuple, etc. à partir d'objets de tranche.
Exemple 2: obtenir une sous-chaîne à l'aide d'un objet slice
# Program to get a substring from the given string py_string = 'Python' # stop = 3 # contains 0, 1 and 2 indices slice_object = slice(3) print(py_string(slice_object)) # Pyt # start = 1, stop = 6, step = 2 # contains 1, 3 and 5 indices slice_object = slice(1, 6, 2) print(py_string(slice_object)) # yhn
Production
Pyt yhn
Exemple 3: obtenir une sous-chaîne à l'aide d'un index négatif
py_string = 'Python' # start = -1, stop = -4, step = -1 # contains indices -1, -2 and -3 slice_object = slice(-1, -4, -1) print(py_string(slice_object)) # noh
Production
non
Exemple 4: obtenir une sous-liste et un sous-tuple
py_list = ('P', 'y', 't', 'h', 'o', 'n') py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # contains indices 0, 1 and 2 slice_object = slice(3) print(py_list(slice_object)) # ('P', 'y', 't') # contains indices 1 and 3 slice_object = slice(1, 5, 2) print(py_tuple(slice_object)) # ('y', 'h')
Production
('P', 'y', 't') ('y', 'h')
Exemple 5: obtenir une sous-liste et un sous-tuple à l'aide d'un index négatif
py_list = ('P', 'y', 't', 'h', 'o', 'n') py_tuple = ('P', 'y', 't', 'h', 'o', 'n') # contains indices -1, -2 and -3 slice_object = slice(-1, -4, -1) print(py_list(slice_object)) # ('n', 'o', 'h') # contains indices -1 and -3 slice_object = slice(-1, -5, -2) print(py_tuple(slice_object)) # ('n', 'h')
Production
('n', 'o', 'h') ('n', 'h')
Exemple 6: Utilisation de la syntaxe d'indexation pour le découpage
L'objet slice peut être remplacé par la syntaxe d'indexation en Python.
Vous pouvez également utiliser la syntaxe suivante pour le découpage:
obj (start: stop: step)
Par exemple,
py_string = 'Python' # contains indices 0, 1 and 2 print(py_string(0:3)) # Pyt # contains indices 1 and 3 print(py_string(1:5:2)) # yh
Production
Pyt yh