Funkcja slice () zwraca obiekt plasterka, którego można użyć do cięcia łańcuchów, list, krotki itp.
Obiekt slice jest używany do wycinania określonej sekwencji (łańcuch, bajty, krotka, lista lub zakres) lub dowolnego obiektu, który obsługuje protokół sekwencji (narzędzia __getitem__()
i __len__()
metody).
Składnia slice()
to:
plasterek (start, stop, krok)
slice () Parametry
slice()
może przyjąć trzy parametry:
- start (opcjonalnie) - Początkowa liczba całkowita, od której zaczyna się wycinanie obiektu. Domyślnie,
None
jeśli nie podano. - stop - liczba całkowita, do której odbywa się krojenie. Cięcie kończy się na indeksie stop -1 (ostatni element) .
- step (opcjonalnie) - Wartość całkowita, która określa przyrost między każdym indeksem do wycinania. Domyślnie,
None
jeśli nie podano.
Przykład 1: Utwórz obiekt plasterka do krojenia
# contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))
Wynik
plasterek (brak, 3, brak) plasterek (1, 5, 2)
Tutaj result1
i result2
są obiektami plasterków.
Teraz wiemy już o obiektach plasterków, zobaczmy, jak możemy uzyskać podciąg, listę podrzędną, krotkę itp. Z obiektów plasterka.
Przykład 2: Pobierz podciąg za pomocą obiektu plasterka
# 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
Wynik
Pyt yhn
Przykład 3: Pobierz podciąg przy użyciu indeksu ujemnego
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
Wynik
nie
Przykład 4: Pobierz listę podrzędną i krotkę podrzędną
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')
Wynik
(„P”, „y”, „t”) („y”, „h”)
Przykład 5: Pobierz listę podrzędną i krotkę podrzędną przy użyciu indeksu ujemnego
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')
Wynik
('n', 'o', 'h') ('n', 'h')
Przykład 6: Używanie składni indeksowania do wycinania
Obiekt plastra można zastąpić składnią indeksowania w Pythonie.
Możesz alternatywnie użyć następującej składni do wycinania:
obj (start: stop: krok)
Na przykład,
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
Wynik
Pyt yh