Dada la lista de tuplas, recorte cada tupla por K.
Ejemplos:
Entrada : test_list = [(5, 3, 2, 1, 4), (3, 4, 9, 2, 1), (9, 1, 2, 3, 5), (4, 8, 2, 1, 7)], K = 2
Salida : [(2,), (9,), (2,), (2,)]
Explicación : se eliminan 2 elementos de la parte delantera y trasera.
Entrada : test_list = [(5, 3, 2, 1, 4), (3, 4, 9, 2, 1), (9, 1, 2, 3, 5), (4, 8, 2, 1, 7)], K = 1
Salida : [(3, 2, 1), (4, 9, 2), (1, 2, 3), (8, 2, 1)]
Explicación : 1 elemento cada uno desde el frente y se quitan los traseros.
Método #1: Usar bucle + corte
En esto, omitimos los elementos K delanteros y traseros mediante el uso de cortes, la conversión de tupla a lista y luego la reconversión a tupla.
Python3
# Python3 code to demonstrate working of # Trim tuples by K # Using loop + slicing # initializing list test_list = [(5, 3, 2, 1, 4), (3, 4, 9, 2, 1), (9, 1, 2, 3, 5), (4, 8, 2, 1, 7)] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 2 res = [] for ele in test_list: N = len(ele) # triming elements res.append(tuple(list(ele)[K: N - K])) # printing result print("Converted Tuples : " + str(res))
Producción:
La lista original es: [(5, 3, 2, 1, 4), (3, 4, 9, 2, 1), (9, 1, 2, 3, 5), (4, 8, 2, 1 , 7)]
Tuplas convertidas: [(2,), (9,), (2,), (2,)]
Método n.° 2: usar la comprensión de listas + segmentación
En esto, realizamos tareas de manera similar al método anterior, con la diferencia de que se emplea la comprensión de lista para realizar la tarea en una sola línea.
Python3
# Python3 code to demonstrate working of # Trim tuples by K # Using list comprehension + slicing # initializing list test_list = [(5, 3, 2, 1, 4), (3, 4, 9, 2, 1), (9, 1, 2, 3, 5), (4, 8, 2, 1, 7)] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 2 # one-liner approach to solve problem res = [tuple(list(ele)[K: len(ele) - K]) for ele in test_list] # printing result print("Converted Tuples : " + str(res))
Producción:
La lista original es: [(5, 3, 2, 1, 4), (3, 4, 9, 2, 1), (9, 1, 2, 3, 5), (4, 8, 2, 1 , 7)]
Tuplas convertidas: [(2,), (9,), (2,), (2,)]
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