Por lo general, deseamos emplear una función particular para todos los elementos de una lista. Pero a veces, de acuerdo con el requisito, desearíamos emplear una funcionalidad particular para ciertos elementos de la lista, básicamente para cada K-ésimo elemento en la lista. Analicemos ciertas formas en que esto se puede realizar.
Método n.º 1: uso de la comprensión de listas +enumerate()
La funcionalidad de obtener cada número K de la lista se puede realizar con la ayuda de la comprensión de listas y la función de enumeración ayuda en la iteración de toda la lista.
# Python3 code to demonstrate # Edit every Kth element in list # using list comprehension + enumerate() # initializing list test_list = [1, 4, 5, 6, 7, 8, 9, 12] # printing the original list print ("The original list is : " + str(test_list)) # using list comprehension + enumerate() # Edit every Kth element in list # add 2 to every 3rd element res = [i + 2 if j % 3 == 0 else i for j, i in enumerate(test_list)] # printing result print ("The list after editing every kth element : " + str(res))
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after editing every kth element : [3, 4, 5, 8, 7, 8, 11, 12]
Método n.º 2: usar la comprensión de listas + el corte de listas Las
funciones mencionadas anteriormente pueden ayudar a realizar estas tareas. La comprensión de la lista hace la tarea de iteración en la lista y el corte de la lista hace la extracción de cada elemento Kth.
# Python3 code to demonstrate # Edit every Kth element in list # using list comprehension + list slicing # initializing list test_list = [1, 4, 5, 6, 7, 8, 9, 12] # printing the original list print ("The original list is : " + str(test_list)) # using list comprehension + list slicing # Edit every Kth element in list # add 2 to every 3rd element test_list[0::3] = [i + 2 for i in test_list[0 :: 3]] # printing result print ("The list after editing every kth element : " + str(test_list))
The original list is : [1, 4, 5, 6, 7, 8, 9, 12] The list after editing every kth element : [3, 4, 5, 8, 7, 8, 11, 12]
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