Operações avançadas para extrair elementos de fatias de tuplas de lista

Em Python, a operação de fatiamento permite obter uma subsequência de uma sequência (como uma lista, tupla, string, etc.) em vez da sequência inteira. As operações de fatiamento usam dois pontos (:) para especificar a posição inicial, a posição final e o tamanho do passo.

A sintaxe básica para fatiar é:

sequence[start:stop:step]
  • start: O índice da posição inicial (incluindo o elemento nessa posição).
  • stop: O índice da posição final (excluindo o elemento nessa posição).
  • step: Tamanho do passo, controla o intervalo de obtenção de elementos a cada vez, o valor padrão é 1.

Aqui estão algumas operações comuns de fatiamento:

  1. Obtenha a subsequência :
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
subset = my_list[2:5]  # 从索引2开始到索引5(不包括),结果为 [2, 3, 4]
  1. Especifique o tamanho do passo :
my_string = "abcdefg"
subset = my_string[1:6:2]  # 从索引1开始到索引6(不包括),步长为2,结果为 "bdf"
  1. Omita a posição inicial ou final :
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
subset1 = my_list[:5]  # 从开头到索引5(不包括),结果为 [0, 1, 2, 3, 4]
subset2 = my_list[5:]  # 从索引5开始到结尾,结果为 [5, 6, 7, 8, 9]
  1. Fatiamento reverso :
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
subset = my_list[::-1]  # 从结尾到开头,步长为-1,实现反向,结果为 [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  1. Modifique elementos em uma fatia :
my_list = [0, 1, 2, 3, 4, 5]
my_list[1:3] = [10, 20, 30]  # 替换索引1到索引3(不包括)的元素,结果为 [0, 10, 20, 30, 3, 4, 5]

Deve-se observar que a operação de fatiamento retorna uma nova sequência e a sequência original não foi alterada.

Operações clássicas de fatiamento

  • Fatia direta para obter elementos
  • Fatia reversa para obter elementos
  • Especifique o tamanho do passo para pegar os elementos

O significado da operação de fatiamento

Reduza o uso de loops em seu código

Acho que você gosta

Origin blog.csdn.net/weixin_44943389/article/details/133014334
Recomendado
Clasificación