Funktionen slice () returnerer et skiveobjekt, der kan bruges til at skære strenge, lister, tuple osv.
Skiveobjektet bruges til at skære en given sekvens (streng, bytes, tuple, liste eller område) eller ethvert objekt, der understøtter sekvensprotokol (implementerer __getitem__()
og __len__()
metode).
Syntaksen for slice()
er:
skive (start, stop, trin)
slice () Parametre
slice()
kan tage tre parametre:
- start (valgfrit) - Starter heltal, hvor objektets udskæring starter. Standard,
None
hvis ikke angivet. - stop - Heltal, indtil hvilken udskæringen finder sted. Udskæringen stopper ved indeksstop -1 (sidste element) .
- trin (valgfrit) - Heltalsværdi, der bestemmer stigningen mellem hvert indeks til udskæring. Standardindstillinger,
None
hvis ikke angivet.
Eksempel 1: Opret et skiveobjekt til skæring
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Produktion
skive (Ingen, 3, Ingen) skive (1, 5, 2)
Her, result1
og result2
er skiveobjekter.
Nu kender vi til skiveobjekter, lad os se, hvordan vi kan få understreng, underliste, undertitel osv. Fra skiveobjekter.
Eksempel 2: Få substring ved hjælp af skiveobjekt
# 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
Produktion
Pyt yhn
Eksempel 3: Få understrengning ved hjælp af negativt indeks
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
Produktion
nej
Eksempel 4: Hent underliste og undertupel
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')
Produktion
('P', 'y', 't') ('y', 'h')
Eksempel 5: Få subliste og subtuple ved hjælp af negativt indeks
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')
Produktion
('n', 'o', 'h') ('n', 'h')
Eksempel 6: Brug af indekseringssyntaks til udskæring
Skiveobjektet kan erstattes med indekseringssyntaks i Python.
Du kan skiftevis bruge følgende syntaks til udskæring:
obj (start: stop: trin)
For eksempel,
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
Produktion
Pyt yh