Rotação de lista Python
A linguagem de programação Python oferece vários métodos para manipular listas, incluindo a tarefa de girar seus elementos. A rotação envolve o deslocamento de cada elemento de uma lista por um número especificado de posições em uma direção especificada, para a direita ou para a esquerda.
Uma abordagem simples e eficiente para rotação de lista em Python é por meio de fatiamento e concatenação. O código a seguir define uma função que executa esta operação:
def rotate(l, n):
return l[-n:] l[:-n]
Nesta função, l representa a lista de entrada e n indica o número de posições a serem giradas. A função primeiro cria duas novas listas usando fatiamento: l[-n:] e l[:-n]. O primeiro captura os elementos do final da lista, enquanto o último captura os elementos restantes. As duas listas são então concatenadas para alcançar a rotação desejada.
Por exemplo, considere a lista Python l abaixo:
l = [1, 2, 3, 4, 5]
Se desejarmos girar l uma posição para a direita, chamaríamos rotate(l, 1):
rotated_l = rotate(l, 1)
print(rotated_l) # Output: [2, 3, 4, 5, 1]
Neste exemplo, o primeiro elemento da lista original é deslocado para o final, resultando na lista de saída [2, 3 , 4, 5, 1].
A função de rotação também pode lidar com valores negativos de n, o que indica rotação para a esquerda. Usando um n negativo, os elementos são movidos para a direita em vez de para a esquerda.
rotated_l = rotate(l, -1)
print(rotated_l) # Output: [5, 1, 2, 3, 4]
Neste caso, l é girado uma posição para a esquerda, movendo o último elemento para a frente.
É importante notar que a função de rotação não modifica a lista de entrada l. Em vez disso, cria uma nova lista com os elementos girados. Esse comportamento está alinhado com o design de lista imutável do Python, onde a modificação da lista original é desencorajada.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3