Python | Desplazar sublista en lista

A veces, mientras trabajamos con la lista, podemos tener un problema en el que necesitamos cambiar alguna sublista al índice deseado en la misma sublista. Este problema puede ocurrir en la programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usar el insert() + pop()bucle +
La combinación de las funciones anteriores se puede usar para realizar la tarea en particular. La popfunción se puede utilizar para eliminar la sublista y insertla función inserta la sublista. Esto sucede para cada elemento en una sola iteración en bucle.

# Python3 code to demonstrate working of
# Shift sublist in list
# Using insert() + pop() + loop
  
# function to perform the task 
def shift_sublist(test_list, strt_idx, no_ele, shft_idx):
    for ele in range(no_ele):
        test_list.insert(shft_idx + 1, test_list.pop(strt_idx))
    return test_list
  
# initializing list
test_list = [4, 5, 6, 7, 3, 8, 10, 1, 12, 15, 16]
  
# printing original list
print("The original list is : " +  str(test_list))
  
# Using insert() + pop() + loop
# Shift sublist in list
res = shift_sublist(test_list, 2, 3, 6)
  
# Printing result
print("The list after shift of sublist : " +  str(res))
Producción :

La lista original es: [4, 5, 6, 7, 3, 8, 10, 1, 12, 15, 16]
La lista después del cambio de sublista: [4, 5, 8, 10, 1, 6, 7, 3, 12, 15, 16]

Método n.° 2: Usar el corte de listas
Esta tarea también puede ser el uso de la técnica de corte de listas en la que se pueden agregar las diferentes secciones de la lista en las posiciones requeridas.

# Python3 code to demonstrate working of
# Shift sublist in list
# Using list slicing
  
# function to perform the task 
def shift_sublist(test_list, strt_idx, no_ele, shft_idx):
    return (test_list[:strt_idx] + test_list[strt_idx + no_ele : no_ele + shft_idx - 1]
            + test_list[strt_idx : strt_idx + no_ele] + test_list[shft_idx + no_ele -1:])
  
# initializing list
test_list = [4, 5, 6, 7, 3, 8, 10, 1, 12, 15, 16]
  
# printing original list
print("The original list is : " +  str(test_list))
  
# Using list slicing
# Shift sublist in list
res = shift_sublist(test_list, 2, 3, 6)
  
# Printing result
print("The list after shift of sublist : " +  str(res))
Producción :

The original list is : [4, 5, 6, 7, 3, 8, 10, 1, 12, 15, 16]
The list after shift of sublist : [4, 5, 8, 10, 1, 6, 7, 3, 12, 15, 16]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *