A slice () függvény egy olyan szeletobjektumot ad vissza, amelyet sztringek, listák, duplák stb.
A szeletobjektum egy adott szekvencia (karakterlánc, bájt, duplán, lista vagy tartomány) vagy bármely olyan objektum szeletelésére szolgál, amely támogatja a szekvencia protokollt (megvalósítások __getitem__()
és __len__()
módszer).
A szintaxisa slice()
:
szelet (indítás, leállítás, lépés)
szelet () Paraméterek
slice()
három paramétert vehet fel:
- start (opcionális) - Kezdő egész szám, ahol az objektum szeletelése megkezdődik. Alapértelmezés szerint,
None
ha nincs megadva. - stop - Egész szám, ameddig a szeletelés megtörténik. A szeletelés a -1 index- stopnál (utolsó elem) áll meg .
- lépés (választható) - Egész szám, amely meghatározza az egyes indexek közötti szelvényezés növekményét. Alapértelmezés szerint,
None
ha nincs megadva.
1. példa: Hozzon létre szeletobjektumot szeleteléshez
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Kimenet
szelet (nincs, 3, nincs) szelet (1, 5, 2)
Itt result1
és result2
a szelet tárgyakat.
Most már tudunk a szeletobjektumokról, nézzük meg, hogyan kaphatunk szeletobjektumokból sztringeket, allistákat, alcsoportokat stb.
2. példa: Szerezzen alszöveget szelet objektummal
# 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
Kimenet
Pyt yhn
3. példa: Szerezzen alszöveget negatív index segítségével
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
Kimenet
nincs h
4. példa: Allisták és al-duplák beszerzése
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')
Kimenet
(„P”, „y”, „t”) („y”, „h”)
5. példa: A negatív index használatával szerezzen be egy allistát és egy alcsoportot
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')
Kimenet
(„n”, „o”, „h”) („n”, „h”)
6. példa: Indexelési szintaxis használata szeleteléshez
A szelet objektum helyettesíthető a Python indexelési szintaxisával.
A szeleteléshez felváltva használhatja a következő szintaxist:
obj (start: stop: lépés)
Például,
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
Kimenet
Pyt yh