Python слайс ()

Функцията slice () връща обект на слайс, който може да се използва за нарязване на низове, списъци, кортеж и т.н.

Обектът нарязване се използва за нарязване на дадена последователност (низ, байтове, кортеж, списък или диапазон) или всеки обект, който поддържа протокол за последователност (приложения __getitem__()и __len__()метод).

Синтаксисът на slice()е:

 парче (старт, стоп, стъпка)

slice () Параметри

slice() може да вземе три параметъра:

  • start (по избор) - Начално цяло число, където започва нарязването на обекта. По подразбиране, Noneако не е предоставено.
  • stop - Цяло число, до което се извършва нарязването. Нарязването спира на индекс стоп -1 (последен елемент) .
  • стъпка (по избор) - целочислена стойност, която определя увеличението между всеки индекс за нарязване. По подразбиране, Noneако не е предоставено.

Пример 1: Създайте обект на нарязване за нарязване

 # contains indices (0, 1, 2) result1 = slice(3) print(result1) # contains indices (1, 3) result2 = slice(1, 5, 2) print(slice(1, 5, 2))

Изход

 слайс (няма, 3, няма) слайс (1, 5, 2) 

Тук result1и result2са обекти на среза.

Сега знаем за нарязани обекти, нека видим как можем да получим подниз, под-списък, под-кортеж и т.н. от обекти на нарязване.

Пример 2: Вземете подниза с помощта на обект отрязване

 # 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

Изход

 Pyt yhn 

Пример 3: Вземете подниза, използвайки отрицателен индекс

 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

Изход

 не 

Пример 4: Вземете подлист и под-кортеж

 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') 

Изход

 ('P', 'y', 't') ('y', 'h') 

Пример 5: Вземете подлист и суб-кортеж, като използвате отрицателен индекс

 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')

Изход

 ('n', 'o', 'h') ('n', 'h') 

Пример 6: Използване на индексиращ синтаксис за нарязване

Обектът на среза може да бъде заменен със синтаксиса за индексиране в Python.

Можете алтернативно да използвате следния синтаксис за нарязване:

 obj (старт: стоп: стъпка)

Например,

 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

Изход

 Pyt yh 

Интересни статии...