Fatia Python ()

A função slice () retorna um objeto slice que pode ser usado para fatiar strings, listas, tuplas, etc.

O objeto de fatia é usado para dividir uma determinada seqüência (string, bytes, tupla, lista ou intervalo) ou qualquer objeto que suporte protocolo de seqüência (implementos __getitem__()e __len__()método).

A sintaxe de slice()é:

 fatia (iniciar, parar, passo)

Parâmetros de slice ()

slice() pode ter três parâmetros:

  • start (opcional) - Inteiro inicial onde começa o fracionamento do objeto. Padrão para Nonese não fornecido.
  • stop - Número inteiro até o qual o corte ocorre. O corte para na parada do índice -1 (último elemento) .
  • step (opcional) - valor inteiro que determina o incremento entre cada índice para fracionamento. O padrão é Nonese não fornecido.

Exemplo 1: criar um objeto de fatia para fatiar

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

Resultado

 fatia (nenhuma, 3, nenhuma) fatia (1, 5, 2) 

Aqui, result1e result2estão os objetos de fatia.

Agora que sabemos sobre objetos de fatia, vamos ver como podemos obter substring, sublista, subtupla, etc. de objetos de fatia.

Exemplo 2: obter substring usando objeto de fatia

 # 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

Resultado

 Pyt yhn 

Exemplo 3: obter substring usando índice negativo

 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

Resultado

 noh 

Exemplo 4: Obter sublista e subtupla

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

Resultado

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

Exemplo 5: obtenha sublista e subtupla usando índice negativo

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

Resultado

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

Exemplo 6: Usando a sintaxe de indexação para fatiar

O objeto de fatia pode ser substituído pela sintaxe de indexação em Python.

Você pode usar alternadamente a seguinte sintaxe para fatiar:

 obj (start: stop: step)

Por exemplo,

 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

Resultado

 Pyt yh 

Artigos interessantes...